@@ -29,11 +29,10 @@ describe('useId', function () {
2929
3030 jest . isolateModules ( ( ) => {
3131 let React = require ( 'react' ) ;
32- let { createRoot } = require ( 'react-dom/client ' ) ;
32+ let ReactDOM = require ( 'react-dom' ) ;
3333 let { act} = require ( 'react-dom/test-utils' ) ;
3434 let { useId} = require ( '../../src/utils/useId' ) ;
35- let previousActEnvironment = global . IS_REACT_ACT_ENVIRONMENT ;
36- global . IS_REACT_ACT_ENVIRONMENT = true ;
35+ let isReact18OrHigher = parseInt ( React . version , 10 ) >= 18 ;
3736
3837 function Test ( { tick} ) {
3938 let id = useId ( ) ;
@@ -42,30 +41,41 @@ describe('useId', function () {
4241
4342 let container = document . createElement ( 'div' ) ;
4443 document . body . appendChild ( container ) ;
45- let root = createRoot ( container ) ;
44+
45+ let renderElement ;
46+ let unmount ;
47+ if ( isReact18OrHigher ) {
48+ let { createRoot} = require ( 'react-dom/client' ) ;
49+ global . IS_REACT_ACT_ENVIRONMENT = true ;
50+ let root = createRoot ( container ) ;
51+ renderElement = ( el ) => root . render ( el ) ;
52+ unmount = ( ) => root . unmount ( ) ;
53+ } else {
54+ renderElement = ( el ) => ReactDOM . render ( el , container ) ;
55+ unmount = ( ) => ReactDOM . unmountComponentAtNode ( container ) ;
56+ }
4657
4758 act ( ( ) => {
48- root . render ( React . createElement ( Test , { tick : 0 } ) ) ;
59+ renderElement ( React . createElement ( Test , { tick : 0 } ) ) ;
4960 } ) ;
5061
5162 act ( ( ) => {
52- root . render ( React . createElement ( Test , { tick : 1 } ) ) ;
63+ renderElement ( React . createElement ( Test , { tick : 1 } ) ) ;
5364 } ) ;
5465
5566 act ( ( ) => {
56- root . render ( React . createElement ( Test , { tick : 2 } ) ) ;
67+ renderElement ( React . createElement ( Test , { tick : 2 } ) ) ;
5768 } ) ;
5869
5970 expect ( register ) . toHaveBeenCalledTimes ( 1 ) ;
6071 expect ( register . mock . calls [ 0 ] [ 1 ] ) . toEqual ( expect . any ( String ) ) ;
6172 expect ( register . mock . calls [ 0 ] [ 2 ] ) . toBe ( register . mock . calls [ 0 ] [ 0 ] ) ;
6273
6374 act ( ( ) => {
64- root . unmount ( ) ;
75+ unmount ( ) ;
6576 } ) ;
6677
6778 document . body . removeChild ( container ) ;
68- global . IS_REACT_ACT_ENVIRONMENT = previousActEnvironment ;
6979
7080 expect ( unregister ) . toHaveBeenCalledTimes ( 1 ) ;
7181 expect ( unregister ) . toHaveBeenCalledWith ( register . mock . calls [ 0 ] [ 2 ] ) ;
0 commit comments