Convert ReactJSXElement to createRoot (#28208)
Ricky committed
Feb 2, 2024 at 12:56 UTC
38ef167ee67cea85574c8b89287ed37569601c5b
1 file changed
+14
-5
packages/react/src/__tests__/ReactJSXElement-test.js
+14
-5
@@ -10,8 +10,9 @@
10
'use strict';
11
12
let React;
13
-let ReactDOM;
13
+let ReactDOMClient;
14
let ReactTestUtils;
15
+let act;
16
17
describe('ReactJSXElement', () => {
18
let Component;
@@ -20,8 +21,10 @@ describe('ReactJSXElement', () => {
21
jest.resetModules();
22
23
React = require('react');
23
- ReactDOM = require('react-dom');
24
+ ReactDOMClient = require('react-dom/client');
25
ReactTestUtils = require('react-dom/test-utils');
26
+ act = require('internal-test-utils').act;
27
+
28
Component = class extends React.Component {
29
render() {
30
return <div />;
@@ -172,14 +175,20 @@ describe('ReactJSXElement', () => {
175
expect(element.constructor).toBe(object.constructor);
176
});
177
175
- it('should use default prop value when removing a prop', () => {
178
+ it('should use default prop value when removing a prop', async () => {
179
Component.defaultProps = {fruit: 'persimmon'};
180
181
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
+ });
187
expect(instance.props.fruit).toBe('mango');
188
182
- ReactDOM.render(<Component />, container);
189
+ await act(() => {
190
+ root.render(<Component ref={ref => (instance = ref)} />);
191
+ });
192
expect(instance.props.fruit).toBe('persimmon');
193
});
194