Skip to content

Commit be3e0d1

Browse files
committed
Convert ReactJSXElement to createRoot
1 parent 6054be9 commit be3e0d1

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

packages/react/src/__tests__/ReactJSXElement-test.js

+14-5
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@
1010
'use strict';
1111

1212
let React;
13-
let ReactDOM;
13+
let ReactDOMClient;
1414
let ReactTestUtils;
15+
let act;
1516

1617
describe('ReactJSXElement', () => {
1718
let Component;
@@ -20,8 +21,10 @@ describe('ReactJSXElement', () => {
2021
jest.resetModules();
2122

2223
React = require('react');
23-
ReactDOM = require('react-dom');
24+
ReactDOMClient = require('react-dom/client');
2425
ReactTestUtils = require('react-dom/test-utils');
26+
act = require('internal-test-utils').act;
27+
2528
Component = class extends React.Component {
2629
render() {
2730
return <div />;
@@ -172,14 +175,20 @@ describe('ReactJSXElement', () => {
172175
expect(element.constructor).toBe(object.constructor);
173176
});
174177

175-
it('should use default prop value when removing a prop', () => {
178+
it('should use default prop value when removing a prop', async () => {
176179
Component.defaultProps = {fruit: 'persimmon'};
177180

178181
const container = document.createElement('div');
179-
const instance = ReactDOM.render(<Component fruit="mango" />, container);
182+
const root = ReactDOMClient.createRoot(container);
183+
let instance;
184+
await act(() => {
185+
root.render(<Component fruit="mango" ref={ref => (instance = ref)} />);
186+
});
180187
expect(instance.props.fruit).toBe('mango');
181188

182-
ReactDOM.render(<Component />, container);
189+
await act(() => {
190+
root.render(<Component ref={ref => (instance = ref)} />);
191+
});
183192
expect(instance.props.fruit).toBe('persimmon');
184193
});
185194

0 commit comments

Comments
 (0)