@@ -342,40 +342,41 @@ describe('reactTreeWalker', () => {
342
342
it ( 'supports new context API' , ( ) => {
343
343
const { Provider, Consumer } = React . createContext ( )
344
344
345
- class SomeInstance extends React . Component {
345
+ class Foo extends React . Component {
346
346
render ( ) {
347
- return < div > { this . props . text } </ div >
347
+ return this . props . children
348
348
}
349
349
}
350
350
351
351
const tree = (
352
352
< Provider
353
353
value = { {
354
- message : 'This is a provider message ' ,
355
- handler : io => io ,
354
+ message : 'Message ' ,
355
+ identity : x => x ,
356
356
} }
357
357
>
358
358
< Consumer >
359
- { ( { message, handler } ) => (
359
+ { ( { message, identity } ) => (
360
360
< strong >
361
- < i > { `${ message } : ${ handler } ` } </ i >
361
+ < i > { `${ message } : ${ identity ( 'Hello world' ) } ` } </ i >
362
362
</ strong >
363
363
) }
364
364
</ Consumer >
365
- Next
366
- < SomeInstance text = "Dynamic text" / >
365
+ bar
366
+ < Foo > foo </ Foo >
367
367
</ Provider >
368
368
)
369
369
370
370
const elements = [ ]
371
- reactTreeWalker ( tree , element => {
371
+ return reactTreeWalker ( tree , element => {
372
372
elements . push ( element )
373
373
} ) . then ( ( ) => {
374
- expect ( elements . pop ( ) ) . toBe ( 'Dynamic text' )
375
- elements . pop ( ) // Pop the div element
376
- elements . pop ( ) // Pop the class instance
377
- expect ( elements . pop ( ) ) . toBe ( 'Next' )
378
- expect ( elements . pop ( ) ) . toBe ( 'This is a provider message: io => io' )
374
+ expect ( elements . pop ( ) ) . toBe ( 'foo' )
375
+ expect ( elements . pop ( ) . type ) . toBe ( Foo )
376
+ expect ( elements . pop ( ) ) . toBe ( 'bar' )
377
+ expect ( elements . pop ( ) ) . toBe ( 'Message: Hello world' )
378
+ expect ( elements . pop ( ) . type ) . toBe ( 'i' )
379
+ expect ( elements . pop ( ) . type ) . toBe ( 'strong' )
379
380
} )
380
381
} )
381
382
0 commit comments