Convert ReactJSXElement to createRoot (#28208)

This commit is contained in:
Ricky
2024-02-02 12:56:30 -05:00
committed by GitHub
parent 7db2446c3d
commit 38ef167ee6
@@ -10,8 +10,9 @@
'use strict';
let React;
let ReactDOM;
let ReactDOMClient;
let ReactTestUtils;
let act;
describe('ReactJSXElement', () => {
let Component;
@@ -20,8 +21,10 @@ describe('ReactJSXElement', () => {
jest.resetModules();
React = require('react');
ReactDOM = require('react-dom');
ReactDOMClient = require('react-dom/client');
ReactTestUtils = require('react-dom/test-utils');
act = require('internal-test-utils').act;
Component = class extends React.Component {
render() {
return <div />;
@@ -172,14 +175,20 @@ describe('ReactJSXElement', () => {
expect(element.constructor).toBe(object.constructor);
});
it('should use default prop value when removing a prop', () => {
it('should use default prop value when removing a prop', async () => {
Component.defaultProps = {fruit: 'persimmon'};
const container = document.createElement('div');
const instance = ReactDOM.render(<Component fruit="mango" />, container);
const root = ReactDOMClient.createRoot(container);
let instance;
await act(() => {
root.render(<Component fruit="mango" ref={ref => (instance = ref)} />);
});
expect(instance.props.fruit).toBe('mango');
ReactDOM.render(<Component />, container);
await act(() => {
root.render(<Component ref={ref => (instance = ref)} />);
});
expect(instance.props.fruit).toBe('persimmon');
});