@@ -14,11 +14,12 @@ const shouldIgnoreConsoleError = require('../../../../../scripts/jest/shouldIgno
14
14
15
15
module . exports = function ( initModules ) {
16
16
let ReactDOM ;
17
+ let ReactDOMClient ;
17
18
let ReactDOMServer ;
18
19
let act ;
19
20
20
21
function resetModules ( ) {
21
- ( { ReactDOM, ReactDOMServer} = initModules ( ) ) ;
22
+ ( { ReactDOM, ReactDOMClient , ReactDOMServer} = initModules ( ) ) ;
22
23
act = require ( 'internal-test-utils' ) . act ;
23
24
}
24
25
@@ -51,11 +52,24 @@ module.exports = function (initModules) {
51
52
async function asyncReactDOMRender ( reactElement , domElement , forceHydrate ) {
52
53
if ( forceHydrate ) {
53
54
await act ( ( ) => {
54
- ReactDOM . hydrate ( reactElement , domElement ) ;
55
+ if ( ReactDOMClient ) {
56
+ ReactDOMClient . hydrateRoot ( domElement , reactElement , {
57
+ onRecoverableError : ( ) => {
58
+ // TODO: assert on recoverable error count.
59
+ } ,
60
+ } ) ;
61
+ } else {
62
+ ReactDOM . hydrate ( reactElement , domElement ) ;
63
+ }
55
64
} ) ;
56
65
} else {
57
66
await act ( ( ) => {
58
- ReactDOM . render ( reactElement , domElement ) ;
67
+ if ( ReactDOMClient ) {
68
+ const root = ReactDOMClient . createRoot ( domElement ) ;
69
+ root . render ( reactElement ) ;
70
+ } else {
71
+ ReactDOM . render ( reactElement , domElement ) ;
72
+ }
59
73
} ) ;
60
74
}
61
75
}
@@ -80,7 +94,11 @@ module.exports = function (initModules) {
80
94
for ( let i = 0 ; i < console . error . mock . calls . length ; i ++ ) {
81
95
const args = console . error . mock . calls [ i ] ;
82
96
const [ format , ...rest ] = args ;
83
- if ( ! shouldIgnoreConsoleError ( format , rest ) ) {
97
+ if (
98
+ ! shouldIgnoreConsoleError ( format , rest , {
99
+ TODO_ignoreHydrationErrors : true ,
100
+ } )
101
+ ) {
84
102
filteredWarnings . push ( args ) ;
85
103
}
86
104
}
0 commit comments