13
13
let React ;
14
14
let ReactTestRenderer ;
15
15
let ReactDebugTools ;
16
+ let currentDispatcher ;
16
17
17
18
describe ( 'ReactHooksInspectionIntergration' , ( ) => {
18
19
beforeEach ( ( ) => {
@@ -23,6 +24,10 @@ describe('ReactHooksInspectionIntergration', () => {
23
24
React = require ( 'react' ) ;
24
25
ReactTestRenderer = require ( 'react-test-renderer' ) ;
25
26
ReactDebugTools = require ( 'react-debug-tools' ) ;
27
+
28
+ currentDispatcher =
29
+ React . __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
30
+ . ReactCurrentDispatcher ;
26
31
} ) ;
27
32
28
33
it ( 'should inspect the current state of useState hooks' , ( ) => {
@@ -39,7 +44,10 @@ describe('ReactHooksInspectionIntergration', () => {
39
44
let renderer = ReactTestRenderer . create ( < Foo prop = "prop" /> ) ;
40
45
41
46
let childFiber = renderer . root . findByType ( Foo ) . _currentFiber ( ) ;
42
- let tree = ReactDebugTools . inspectHooksOfFiber ( childFiber ) ;
47
+ let tree = ReactDebugTools . inspectHooksOfFiber (
48
+ currentDispatcher ,
49
+ childFiber ,
50
+ ) ;
43
51
expect ( tree ) . toEqual ( [
44
52
{ name : 'State' , value : 'hello' , subHooks : [ ] } ,
45
53
{ name : 'State' , value : 'world' , subHooks : [ ] } ,
@@ -53,7 +61,7 @@ describe('ReactHooksInspectionIntergration', () => {
53
61
setStateA ( 'Hi' ) ;
54
62
55
63
childFiber = renderer . root . findByType ( Foo ) . _currentFiber ( ) ;
56
- tree = ReactDebugTools . inspectHooksOfFiber ( childFiber ) ;
64
+ tree = ReactDebugTools . inspectHooksOfFiber ( currentDispatcher , childFiber ) ;
57
65
58
66
expect ( tree ) . toEqual ( [
59
67
{ name : 'State' , value : 'Hi' , subHooks : [ ] } ,
@@ -63,7 +71,7 @@ describe('ReactHooksInspectionIntergration', () => {
63
71
setStateB ( 'world!' ) ;
64
72
65
73
childFiber = renderer . root . findByType ( Foo ) . _currentFiber ( ) ;
66
- tree = ReactDebugTools . inspectHooksOfFiber ( childFiber ) ;
74
+ tree = ReactDebugTools . inspectHooksOfFiber ( currentDispatcher , childFiber ) ;
67
75
68
76
expect ( tree ) . toEqual ( [
69
77
{ name : 'State' , value : 'Hi' , subHooks : [ ] } ,
@@ -111,7 +119,10 @@ describe('ReactHooksInspectionIntergration', () => {
111
119
112
120
let { onClick : updateStates } = renderer . root . findByType ( 'div' ) . props ;
113
121
114
- let tree = ReactDebugTools . inspectHooksOfFiber ( childFiber ) ;
122
+ let tree = ReactDebugTools . inspectHooksOfFiber (
123
+ currentDispatcher ,
124
+ childFiber ,
125
+ ) ;
115
126
expect ( tree ) . toEqual ( [
116
127
{ name : 'State' , value : 'a' , subHooks : [ ] } ,
117
128
{ name : 'Reducer' , value : 'b' , subHooks : [ ] } ,
@@ -126,7 +137,7 @@ describe('ReactHooksInspectionIntergration', () => {
126
137
updateStates ( ) ;
127
138
128
139
childFiber = renderer . root . findByType ( Foo ) . _currentFiber ( ) ;
129
- tree = ReactDebugTools . inspectHooksOfFiber ( childFiber ) ;
140
+ tree = ReactDebugTools . inspectHooksOfFiber ( currentDispatcher , childFiber ) ;
130
141
131
142
expect ( tree ) . toEqual ( [
132
143
{ name : 'State' , value : 'A' , subHooks : [ ] } ,
@@ -152,7 +163,10 @@ describe('ReactHooksInspectionIntergration', () => {
152
163
</ MyContext . Provider > ,
153
164
) ;
154
165
let childFiber = renderer . root . findByType ( Foo ) . _currentFiber ( ) ;
155
- let tree = ReactDebugTools . inspectHooksOfFiber ( childFiber ) ;
166
+ let tree = ReactDebugTools . inspectHooksOfFiber (
167
+ currentDispatcher ,
168
+ childFiber ,
169
+ ) ;
156
170
expect ( tree ) . toEqual ( [
157
171
{
158
172
name : 'Context' ,
@@ -172,7 +186,10 @@ describe('ReactHooksInspectionIntergration', () => {
172
186
let renderer = ReactTestRenderer . create ( < Foo ref = { ref } /> ) ;
173
187
174
188
let childFiber = renderer . root . findByType ( Foo ) . _currentFiber ( ) ;
175
- let tree = ReactDebugTools . inspectHooksOfFiber ( childFiber ) ;
189
+ let tree = ReactDebugTools . inspectHooksOfFiber (
190
+ currentDispatcher ,
191
+ childFiber ,
192
+ ) ;
176
193
expect ( tree ) . toEqual ( [
177
194
{ name : 'ImperativeMethods' , value : obj , subHooks : [ ] } ,
178
195
] ) ;
@@ -187,7 +204,10 @@ describe('ReactHooksInspectionIntergration', () => {
187
204
let renderer = ReactTestRenderer . create ( < Foo /> ) ;
188
205
// TODO: Test renderer findByType is broken for memo. Have to search for the inner.
189
206
let childFiber = renderer . root . findByType ( InnerFoo ) . _currentFiber ( ) ;
190
- let tree = ReactDebugTools . inspectHooksOfFiber ( childFiber ) ;
207
+ let tree = ReactDebugTools . inspectHooksOfFiber (
208
+ currentDispatcher ,
209
+ childFiber ,
210
+ ) ;
191
211
expect ( tree ) . toEqual ( [ { name : 'State' , value : 'hello' , subHooks : [ ] } ] ) ;
192
212
} ) ;
193
213
@@ -202,7 +222,10 @@ describe('ReactHooksInspectionIntergration', () => {
202
222
}
203
223
let renderer = ReactTestRenderer . create ( < Foo /> ) ;
204
224
let childFiber = renderer . root . findByType ( Foo ) . _currentFiber ( ) ;
205
- let tree = ReactDebugTools . inspectHooksOfFiber ( childFiber ) ;
225
+ let tree = ReactDebugTools . inspectHooksOfFiber (
226
+ currentDispatcher ,
227
+ childFiber ,
228
+ ) ;
206
229
expect ( tree ) . toEqual ( [
207
230
{
208
231
name : 'Custom' ,
@@ -238,7 +261,10 @@ describe('ReactHooksInspectionIntergration', () => {
238
261
await LazyFoo ;
239
262
240
263
let childFiber = renderer . root . _currentFiber ( ) ;
241
- let tree = ReactDebugTools . inspectHooksOfFiber ( childFiber ) ;
264
+ let tree = ReactDebugTools . inspectHooksOfFiber (
265
+ currentDispatcher ,
266
+ childFiber ,
267
+ ) ;
242
268
expect ( tree ) . toEqual ( [ { name : 'State' , value : 'def' , subHooks : [ ] } ] ) ;
243
269
} ) ;
244
270
} ) ;
0 commit comments