mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
4e6cc2f495
* Crash on missing Set/Map polyfills * Change Map/Set to emit warnings instead * Change rAF polyfill check to also be a warning * Liiiiiint
56 lines
1.8 KiB
JavaScript
56 lines
1.8 KiB
JavaScript
/**
|
|
* Copyright 2016-present, Facebook, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the BSD-style license found in the
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
*
|
|
* @emails react-core
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
const ReactDOMFeatureFlags = require('ReactDOMFeatureFlags');
|
|
const describeFiber = ReactDOMFeatureFlags.useFiber ? describe : xdescribe;
|
|
|
|
describeFiber('ReactDOMFrameScheduling', () => {
|
|
it('warns when requestAnimationFrame is not polyfilled in the browser', () => {
|
|
const previousRAF = global.requestAnimationFrame;
|
|
try {
|
|
global.requestAnimationFrame = undefined;
|
|
jest.resetModules();
|
|
spyOn(console, 'error');
|
|
require('react-dom');
|
|
expect(console.error.calls.count()).toBe(1);
|
|
expect(console.error.calls.argsFor(0)[0]).toContain(
|
|
'React depends on requestAnimationFrame.',
|
|
);
|
|
} finally {
|
|
global.requestAnimationFrame = previousRAF;
|
|
}
|
|
});
|
|
|
|
// We're just testing importing, not using it.
|
|
// It is important because even isomorphic components may import it.
|
|
it('can import findDOMNode in Node environment', () => {
|
|
const previousRAF = global.requestAnimationFrame;
|
|
const previousRIC = global.requestIdleCallback;
|
|
const prevWindow = global.window;
|
|
try {
|
|
global.requestAnimationFrame = undefined;
|
|
global.requestIdleCallback = undefined;
|
|
// Simulate the Node environment:
|
|
delete global.window;
|
|
jest.resetModules();
|
|
expect(() => {
|
|
require('react-dom');
|
|
}).not.toThrow();
|
|
} finally {
|
|
global.requestAnimationFrame = previousRAF;
|
|
global.requestIdleCallback = previousRIC;
|
|
global.window = prevWindow;
|
|
}
|
|
});
|
|
});
|