@samitouri / QOS-React-1 / commits / e1d20fc0c0

Convert describeComponentFrame to createRoot (#28001)

Sebastian Silbermann committed Jan 22, 2024 at 15:08 UTC e1d20fc0c0b671601389b8c48a84a38e9c535654
1 file changed +18 -10
packages/shared/__tests__/describeComponentFrame-test.js
+18 -10
@@ -10,16 +10,18 @@
10 'use strict';
11
12 let React;
13 -let ReactDOM;
13 +let ReactDOMClient;
14 +let act;
15
16 describe('Component stack trace displaying', () => {
17 beforeEach(() => {
18 React = require('react');
18 - ReactDOM = require('react-dom');
19 + ReactDOMClient = require('react-dom');
20 + act = require('internal-test-utils').act;
21 });
22
23 // @gate !enableComponentStackLocations || !__DEV__
22 - it('should provide filenames in stack traces', () => {
24 + it('should provide filenames in stack traces', async () => {
25 class Component extends React.Component {
26 render() {
27 return [<span>a</span>, <span>b</span>];
@@ -88,15 +90,21 @@ describe('Component stack trace displaying', () => {
90 'C:\\funny long (path)/index.js': 'funny long (path)/index.js',
91 'C:\\funny long (path)/index.jsx': 'funny long (path)/index.jsx',
92 };
91 - Object.keys(fileNames).forEach((fileName, i) => {
93 +
94 + const root = ReactDOMClient.createRoot(container);
95 +
96 + let i = 0;
97 + for (const fileName in fileNames) {
98 Component.displayName = 'Component ' + i;
93 - ReactDOM.render(
94 - <Component __source={{fileName, lineNumber: i}} />,
95 - container,
96 - );
97 - });
99 +
100 + await act(() => {
101 + root.render(<Component __source={{fileName, lineNumber: i}} />);
102 + });
103 +
104 + i++;
105 + }
106 if (__DEV__) {
99 - let i = 0;
107 + i = 0;
108 expect(console.error).toHaveBeenCalledTimes(
109 Object.keys(fileNames).length,
110 );