Skip to content

Commit 2462808

Browse files
committed
Convert ReactShallowRenderer to ESM
1 parent 3c43ac1 commit 2462808

File tree

5 files changed

+21
-49
lines changed

5 files changed

+21
-49
lines changed

packages/react-dom/src/__tests__/ReactTestUtils-test.js

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99

1010
'use strict';
1111

12-
let createRenderer;
13-
let React;
14-
let ReactDOM;
15-
let ReactDOMServer;
16-
let ReactTestUtils;
12+
import ReactShallowRenderer from 'react-test-renderer/shallow';
13+
import * as React from 'react';
14+
import * as ReactDOM from 'react-dom';
15+
import * as ReactDOMServer from 'react-dom/server';
16+
import * as ReactTestUtils from 'react-dom/test-utils';
1717

1818
function getTestDocument(markup) {
1919
const doc = document.implementation.createHTMLDocument('');
@@ -27,14 +27,6 @@ function getTestDocument(markup) {
2727
}
2828

2929
describe('ReactTestUtils', () => {
30-
beforeEach(() => {
31-
createRenderer = require('react-test-renderer/shallow').createRenderer;
32-
React = require('react');
33-
ReactDOM = require('react-dom');
34-
ReactDOMServer = require('react-dom/server');
35-
ReactTestUtils = require('react-dom/test-utils');
36-
});
37-
3830
it('Simulate should have locally attached media events', () => {
3931
expect(Object.keys(ReactTestUtils.Simulate).sort()).toMatchSnapshot();
4032
});
@@ -403,7 +395,7 @@ describe('ReactTestUtils', () => {
403395
}
404396

405397
const handler = jest.fn().mockName('spy');
406-
const shallowRenderer = createRenderer();
398+
const shallowRenderer = ReactShallowRenderer.createRenderer();
407399
const result = shallowRenderer.render(
408400
<SomeComponent handleClick={handler} />,
409401
);

packages/react-test-renderer/shallow.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,4 @@
99

1010
'use strict';
1111

12-
const ReactShallowRenderer = require('react-shallow-renderer');
13-
14-
// TODO: decide on the top-level export form.
15-
// This is hacky but makes it work with both Rollup and Jest.
16-
module.exports = ReactShallowRenderer.default || ReactShallowRenderer;
12+
export {default} from 'react-shallow-renderer';

packages/react-test-renderer/src/__tests__/ReactShallowRenderer-test.js

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,13 @@
1010

1111
'use strict';
1212

13-
let createRenderer;
14-
let PropTypes;
15-
let React;
13+
import * as PropTypes from 'prop-types';
14+
import * as React from 'react';
15+
import ReactShallowRenderer from 'react-test-renderer/shallow';
1616

17-
describe('ReactShallowRenderer', () => {
18-
beforeEach(() => {
19-
jest.resetModules();
20-
21-
createRenderer = require('react-test-renderer/shallow').createRenderer;
22-
PropTypes = require('prop-types');
23-
React = require('react');
24-
});
17+
const createRenderer = ReactShallowRenderer.createRenderer;
2518

19+
describe('ReactShallowRenderer', () => {
2620
it('should call all of the legacy lifecycle hooks', () => {
2721
const logs = [];
2822
const logger = message => () => logs.push(message) || true;

packages/react-test-renderer/src/__tests__/ReactShallowRendererHooks-test.js

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,12 @@
1010

1111
'use strict';
1212

13-
let createRenderer;
14-
let React;
13+
import * as React from 'react';
14+
import ReactShallowRenderer from 'react-test-renderer/shallow';
1515

16-
describe('ReactShallowRenderer with hooks', () => {
17-
beforeEach(() => {
18-
jest.resetModules();
19-
createRenderer = require('react-test-renderer/shallow').createRenderer;
20-
React = require('react');
21-
});
16+
const createRenderer = ReactShallowRenderer.createRenderer;
2217

18+
describe('ReactShallowRenderer with hooks', () => {
2319
it('should work with useState', () => {
2420
function SomeComponent({defaultName}) {
2521
const [name] = React.useState(defaultName);

packages/react-test-renderer/src/__tests__/ReactShallowRendererMemo-test.js

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,13 @@
1010

1111
'use strict';
1212

13-
let createRenderer;
14-
let PropTypes;
15-
let React;
13+
import * as PropTypes from 'prop-types';
14+
import * as React from 'react';
15+
import ReactShallowRenderer from 'react-test-renderer/shallow';
1616

17-
describe('ReactShallowRendererMemo', () => {
18-
beforeEach(() => {
19-
jest.resetModules();
20-
21-
createRenderer = require('react-test-renderer/shallow').createRenderer;
22-
PropTypes = require('prop-types');
23-
React = require('react');
24-
});
17+
const createRenderer = ReactShallowRenderer.createRenderer;
2518

19+
describe('ReactShallowRendererMemo', () => {
2620
it('should call all of the legacy lifecycle hooks', () => {
2721
const logs = [];
2822
const logger = message => () => logs.push(message) || true;

0 commit comments

Comments
 (0)