@@ -10,6 +10,7 @@ let TransitionGroup;
10
10
describe ( 'CSSTransitionGroup' , ( ) => {
11
11
let container ;
12
12
let consoleErrorSpy ;
13
+ let render ;
13
14
14
15
function YoloTransition ( { id, ...props } ) {
15
16
const nodeRef = React . useRef ( )
@@ -27,6 +28,12 @@ describe('CSSTransitionGroup', () => {
27
28
React = require ( 'react' ) ;
28
29
ReactDOM = require ( 'react-dom' ) ;
29
30
31
+ render = ( element , container , callback ) => ReactDOM . render (
32
+ < React . StrictMode > { element } </ React . StrictMode > ,
33
+ container ,
34
+ callback
35
+ )
36
+
30
37
TransitionGroup = require ( '../src/TransitionGroup' ) ;
31
38
32
39
container = document . createElement ( 'div' ) ;
@@ -39,7 +46,7 @@ describe('CSSTransitionGroup', () => {
39
46
40
47
41
48
it ( 'should clean-up silently after the timeout elapses' , ( ) => {
42
- ReactDOM . render (
49
+ render (
43
50
< TransitionGroup enter = { false } >
44
51
< YoloTransition key = "one" id = "one" />
45
52
</ TransitionGroup > ,
@@ -50,7 +57,7 @@ describe('CSSTransitionGroup', () => {
50
57
51
58
expect ( transitionGroupDiv . childNodes . length ) . toBe ( 1 ) ;
52
59
53
- ReactDOM . render (
60
+ render (
54
61
< TransitionGroup enter = { false } >
55
62
< YoloTransition key = "two" id = "two" />
56
63
</ TransitionGroup > ,
@@ -72,7 +79,7 @@ describe('CSSTransitionGroup', () => {
72
79
} ) ;
73
80
74
81
it ( 'should keep both sets of DOM nodes around' , ( ) => {
75
- ReactDOM . render (
82
+ render (
76
83
< TransitionGroup >
77
84
< YoloTransition key = "one" id = "one" />
78
85
</ TransitionGroup > ,
@@ -83,7 +90,7 @@ describe('CSSTransitionGroup', () => {
83
90
84
91
expect ( transitionGroupDiv . childNodes . length ) . toBe ( 1 ) ;
85
92
86
- ReactDOM . render (
93
+ render (
87
94
< TransitionGroup >
88
95
< YoloTransition key = "two" id = "two" />
89
96
</ TransitionGroup > ,
@@ -96,7 +103,7 @@ describe('CSSTransitionGroup', () => {
96
103
} ) ;
97
104
98
105
it ( 'should switch transitionLeave from false to true' , ( ) => {
99
- ReactDOM . render (
106
+ render (
100
107
< TransitionGroup enter = { false } leave = { false } >
101
108
< YoloTransition key = "one" id = "one" />
102
109
</ TransitionGroup > ,
@@ -107,7 +114,7 @@ describe('CSSTransitionGroup', () => {
107
114
108
115
expect ( transitionGroupDiv . childNodes . length ) . toBe ( 1 ) ;
109
116
110
- ReactDOM . render (
117
+ render (
111
118
< TransitionGroup enter = { false } leave = { false } >
112
119
< YoloTransition key = "two" id = "two" />
113
120
</ TransitionGroup > ,
@@ -118,7 +125,7 @@ describe('CSSTransitionGroup', () => {
118
125
119
126
expect ( transitionGroupDiv . childNodes . length ) . toBe ( 1 ) ;
120
127
121
- ReactDOM . render (
128
+ render (
122
129
< TransitionGroup enter = { false } leave >
123
130
< YoloTransition key = "three" id = "three" />
124
131
</ TransitionGroup > ,
@@ -132,7 +139,7 @@ describe('CSSTransitionGroup', () => {
132
139
133
140
134
141
it ( 'should work with a null child' , ( ) => {
135
- ReactDOM . render (
142
+ render (
136
143
< TransitionGroup >
137
144
{ [ null ] }
138
145
</ TransitionGroup > ,
@@ -144,26 +151,26 @@ describe('CSSTransitionGroup', () => {
144
151
const NullComponent = ( ) => null ;
145
152
// Testing the whole lifecycle of entering and exiting,
146
153
// because those lifecycle methods used to fail when the DOM node was null.
147
- ReactDOM . render (
154
+ render (
148
155
< TransitionGroup /> ,
149
156
container ,
150
157
) ;
151
- ReactDOM . render (
158
+ render (
152
159
< TransitionGroup >
153
160
< CSSTransition classNames = "yolo" timeout = { 0 } >
154
161
< NullComponent />
155
162
</ CSSTransition >
156
163
</ TransitionGroup > ,
157
164
container ,
158
165
) ;
159
- ReactDOM . render (
166
+ render (
160
167
< TransitionGroup /> ,
161
168
container ,
162
169
) ;
163
170
} ) ;
164
171
165
172
it ( 'should transition from one to null' , ( ) => {
166
- ReactDOM . render (
173
+ render (
167
174
< TransitionGroup >
168
175
< YoloTransition key = "one" id = "one" />
169
176
</ TransitionGroup > ,
@@ -174,7 +181,7 @@ describe('CSSTransitionGroup', () => {
174
181
175
182
expect ( transitionGroupDiv . childNodes . length ) . toBe ( 1 ) ;
176
183
177
- ReactDOM . render (
184
+ render (
178
185
< TransitionGroup >
179
186
{ null }
180
187
</ TransitionGroup > ,
@@ -188,7 +195,7 @@ describe('CSSTransitionGroup', () => {
188
195
} ) ;
189
196
190
197
it ( 'should transition from false to one' , ( ) => {
191
- ReactDOM . render (
198
+ render (
192
199
< TransitionGroup >
193
200
{ false }
194
201
</ TransitionGroup > ,
@@ -199,7 +206,7 @@ describe('CSSTransitionGroup', () => {
199
206
200
207
expect ( transitionGroupDiv . childNodes . length ) . toBe ( 0 ) ;
201
208
202
- ReactDOM . render (
209
+ render (
203
210
< TransitionGroup >
204
211
< YoloTransition key = "one" id = "one" />
205
212
</ TransitionGroup > ,
@@ -221,8 +228,8 @@ describe('CSSTransitionGroup', () => {
221
228
}
222
229
}
223
230
224
- ReactDOM . render ( < Component /> , container ) ;
225
- ReactDOM . render (
231
+ render ( < Component /> , container ) ;
232
+ render (
226
233
< Component >
227
234
< YoloTransition key = "yolo" id = "yolo" />
228
235
</ Component > ,
@@ -259,7 +266,7 @@ describe('CSSTransitionGroup', () => {
259
266
}
260
267
}
261
268
262
- ReactDOM . render ( < Component /> , container ) ;
269
+ render ( < Component /> , container ) ;
263
270
264
271
// Testing that no exception is thrown here, as the timeout has been cleared.
265
272
jest . runAllTimers ( ) ;
@@ -298,7 +305,7 @@ describe('CSSTransitionGroup', () => {
298
305
}
299
306
}
300
307
301
- ReactDOM . render ( < Component /> , container ) ;
308
+ render ( < Component /> , container ) ;
302
309
const transitionGroupDiv = container . childNodes [ 0 ]
303
310
transitionGroupDiv . childNodes . forEach ( child => {
304
311
expect ( hasClass ( child , extraClassNameProp ) ) . toBe ( true ) ;
0 commit comments