const React = require('react'); // eslint-disable-next-line no-console console.log('Current React Version:', React.version); /* eslint-disable global-require */ if (typeof window !== 'undefined') { global.window.resizeTo = (width, height) => { global.window.innerWidth = width || global.window.innerWidth; global.window.innerHeight = height || global.window.innerHeight; global.window.dispatchEvent(new Event('resize')); }; global.window.scrollTo = () => {}; // ref: https://github.com/ant-design/ant-design/issues/18774 if (!window.matchMedia) { Object.defineProperty(global.window, 'matchMedia', { value: jest.fn(query => ({ matches: query.includes('max-width'), addListener: () => {}, removeListener: () => {}, })), }); } } // The built-in requestAnimationFrame and cancelAnimationFrame not working with jest.runFakeTimes() // https://github.com/facebook/jest/issues/5147 global.requestAnimationFrame = cb => setTimeout(cb, 0); global.cancelAnimationFrame = cb => clearTimeout(cb, 0); const Enzyme = require('enzyme'); const Adapter = require('enzyme-adapter-react-16'); Enzyme.configure({ adapter: new Adapter() });