Convert ReactError-test to createRoot (#27995)
Ricky committed
Jan 19, 2024 at 14:35 UTC
29fbf6f62625c4262035f931681c7b7822ca9843
1 file changed
+23
-6
packages/shared/__tests__/ReactError-test.internal.js
+23
-6
@@ -9,7 +9,8 @@
9
'use strict';
10
11
let React;
12
-let ReactDOM;
12
+let ReactDOMClient;
13
+let act;
14
15
describe('ReactError', () => {
16
let globalErrorMock;
@@ -27,7 +28,8 @@ describe('ReactError', () => {
28
}
29
jest.resetModules();
30
React = require('react');
30
- ReactDOM = require('react-dom');
31
+ ReactDOMClient = require('react-dom/client');
32
+ act = require('internal-test-utils').act;
33
});
34
35
afterEach(() => {
@@ -39,7 +41,9 @@ describe('ReactError', () => {
41
// @gate build === "production"
42
// @gate !source
43
it('should error with minified error code', () => {
42
- expect(() => ReactDOM.render('Hi', null)).toThrowError(
44
+ expect(() => {
45
+ ReactDOMClient.createRoot(null);
46
+ }).toThrowError(
47
'Minified React error #200; visit ' +
48
'https://react.dev/errors/200' +
49
' for the full message or use the non-minified dev environment' +
@@ -47,12 +51,25 @@ describe('ReactError', () => {
51
);
52
});
53
50
- it('should serialize arguments', () => {
54
+ // @gate build === "production"
55
+ // @gate !source
56
+ it('should serialize arguments', async () => {
57
function Oops() {
52
- return;
58
+ return {};
59
}
60
Oops.displayName = '#wtf';
61
+
62
const container = document.createElement('div');
56
- expect(() => ReactDOM.render(<Oops />, container)).not.toThrowError();
63
+ const root = ReactDOMClient.createRoot(container);
64
+ await expect(async () => {
65
+ await act(async () => {
66
+ root.render(<Oops />);
67
+ });
68
+ }).rejects.toThrow(
69
+ 'Minified React error #152; visit ' +
70
+ 'https://reactjs.org/docs/error-decoder.html?invariant=152&args[]=%23wtf' +
71
+ ' for the full message or use the non-minified dev environment' +
72
+ ' for full errors and additional helpful warnings.',
73
+ );
74
});
75
});