@@ -66,7 +66,7 @@ describe('ReactStrictMode', () => {
6666
6767 if ( __DEV__ ) {
6868 // @gate experimental
69- it ( 'should default to level 1 (legacy mode) ' , ( ) => {
69+ it ( 'should include legacy + strict effects mode' , ( ) => {
7070 act ( ( ) => {
7171 const container = document . createElement ( 'div' ) ;
7272 const root = ReactDOM . createRoot ( container ) ;
@@ -77,46 +77,6 @@ describe('ReactStrictMode', () => {
7777 ) ;
7878 } ) ;
7979
80- expect ( log ) . toEqual ( [
81- 'A: render' ,
82- 'A: render' ,
83- 'A: useLayoutEffect mount' ,
84- 'A: useEffect mount' ,
85- ] ) ;
86- } ) ;
87-
88- // @gate experimental
89- it ( 'should support level 1 (legacy mode)' , ( ) => {
90- act ( ( ) => {
91- const container = document . createElement ( 'div' ) ;
92- const root = ReactDOM . createRoot ( container ) ;
93- root . render (
94- < React . StrictMode unstable_level = { 1 } >
95- < Component label = "A" />
96- </ React . StrictMode > ,
97- ) ;
98- } ) ;
99-
100- expect ( log ) . toEqual ( [
101- 'A: render' ,
102- 'A: render' ,
103- 'A: useLayoutEffect mount' ,
104- 'A: useEffect mount' ,
105- ] ) ;
106- } ) ;
107-
108- // @gate experimental
109- it ( 'should support level 2 (legacy + strict effects mode)' , ( ) => {
110- act ( ( ) => {
111- const container = document . createElement ( 'div' ) ;
112- const root = ReactDOM . createRoot ( container ) ;
113- root . render (
114- < React . StrictMode unstable_level = { 2 } >
115- < Component label = "A" />
116- </ React . StrictMode > ,
117- ) ;
118- } ) ;
119-
12080 expect ( log ) . toEqual ( [
12181 'A: render' ,
12282 'A: render' ,
@@ -137,12 +97,8 @@ describe('ReactStrictMode', () => {
13797 root . render (
13898 < >
13999 < Component label = "A" />
140- < React . StrictMode unstable_level = { 1 } >
141- < Component label = "B" />
142- < React . StrictMode unstable_level = { 2 } >
143- < Component label = "C" />
144- </ React . StrictMode >
145- ,
100+ < React . StrictMode >
101+ < Component label = "B" /> ,
146102 </ React . StrictMode >
147103 ,
148104 </ > ,
@@ -153,53 +109,14 @@ describe('ReactStrictMode', () => {
153109 'A: render' ,
154110 'B: render' ,
155111 'B: render' ,
156- 'C: render' ,
157- 'C: render' ,
158112 'A: useLayoutEffect mount' ,
159113 'B: useLayoutEffect mount' ,
160- 'C: useLayoutEffect mount' ,
161114 'A: useEffect mount' ,
162115 'B: useEffect mount' ,
163- 'C: useEffect mount' ,
164- 'C: useLayoutEffect unmount' ,
165- 'C: useEffect unmount' ,
166- 'C: useLayoutEffect mount' ,
167- 'C: useEffect mount' ,
168- ] ) ;
169- } ) ;
170-
171- // @gate experimental
172- it ( 'should not allow level to be decreased with nesting' , ( ) => {
173- act ( ( ) => {
174- const container = document . createElement ( 'div' ) ;
175- const root = ReactDOM . createRoot ( container ) ;
176- root . render (
177- < >
178- < Component label = "A" />
179- < React . StrictMode unstable_level = { 1 } >
180- < Component label = "B" />
181- < React . StrictMode unstable_level = { 0 } >
182- < Component label = "C" />
183- </ React . StrictMode >
184- ,
185- </ React . StrictMode >
186- ,
187- </ > ,
188- ) ;
189- } ) ;
190-
191- expect ( log ) . toEqual ( [
192- 'A: render' ,
193- 'B: render' ,
194- 'B: render' ,
195- 'C: render' ,
196- 'C: render' ,
197- 'A: useLayoutEffect mount' ,
116+ 'B: useLayoutEffect unmount' ,
117+ 'B: useEffect unmount' ,
198118 'B: useLayoutEffect mount' ,
199- 'C: useLayoutEffect mount' ,
200- 'A: useEffect mount' ,
201119 'B: useEffect mount' ,
202- 'C: useEffect mount' ,
203120 ] ) ;
204121 } ) ;
205122 }
0 commit comments