@samitouri / QOS-React-1 / commits / 38ef167ee6

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