Skip to content

Commit e32503e

Browse files
committed
Element: Add test for serialization with nested providers
1 parent b6b7da7 commit e32503e

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

packages/element/src/test/serialize.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,28 @@ describe( 'renderElement()', () => {
376376
expect( result ).toBe( '1st provided|2nd provided|default' );
377377
} );
378378

379+
it( 'renders proper value through Context API when nested providers', () => {
380+
const { Consumer, Provider } = createContext( {
381+
value: 'default',
382+
} );
383+
384+
const result = renderElement(
385+
<Provider value={ { value: 'outer provided' } }>
386+
<Provider value={ { value: 'inner provided' } }>
387+
<Consumer>
388+
{ ( context ) => context.value }
389+
</Consumer>
390+
</Provider>
391+
{ '|' }
392+
<Consumer>
393+
{ ( context ) => context.value }
394+
</Consumer>
395+
</Provider>
396+
);
397+
398+
expect( result ).toBe( 'inner provided|outer provided' );
399+
} );
400+
379401
it( 'renders RawHTML as its unescaped children', () => {
380402
const result = renderElement( <RawHTML>{ '<img/>' }</RawHTML> );
381403

0 commit comments

Comments
 (0)