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
);