@@ -19,12 +19,17 @@ describe('`useAsyncIterState` hook', () => {
1919 const valuesToSet = [ 'a' , 'b' , 'c' ] ;
2020
2121 const collectPromise = pipe ( values , asyncIterTake ( valuesToSet . length ) , asyncIterToArray ) ;
22+ const currentValues = [ values . value . current ] ;
2223
2324 for ( const value of valuesToSet ) {
24- await act ( ( ) => setValue ( value ) ) ;
25+ await act ( ( ) => {
26+ setValue ( value ) ;
27+ currentValues . push ( values . value . current ) ;
28+ } ) ;
2529 }
2630
2731 expect ( await collectPromise ) . toStrictEqual ( [ 'a' , 'b' , 'c' ] ) ;
32+ expect ( currentValues ) . toStrictEqual ( [ undefined , 'a' , 'b' , 'c' ] ) ;
2833 } ) ;
2934
3035 it (
@@ -79,6 +84,7 @@ describe('`useAsyncIterState` hook', () => {
7984
8085 const collections = await Promise . all ( [ collectPromise1 , collectPromise2 ] ) ;
8186 expect ( collections ) . toStrictEqual ( [ [ ] , [ ] ] ) ;
87+ expect ( values . value . current ) . toStrictEqual ( undefined ) ;
8288 }
8389 ) ;
8490
@@ -91,13 +97,18 @@ describe('`useAsyncIterState` hook', () => {
9197 const [ values , setValue ] = renderedHook . result . current ;
9298
9399 const [ collectPromise1 , collectPromise2 ] = range ( 2 ) . map ( ( ) => asyncIterToArray ( values ) ) ;
100+ const currentValues = [ values . value . current ] ;
94101
95- await act ( ( ) => setValue ( 'a' ) ) ;
102+ await act ( ( ) => {
103+ setValue ( 'a' ) ;
104+ currentValues . push ( values . value . current ) ;
105+ } ) ;
96106
97107 renderedHook . unmount ( ) ;
98108
99109 const collections = await Promise . all ( [ collectPromise1 , collectPromise2 ] ) ;
100110 expect ( collections ) . toStrictEqual ( [ [ 'a' ] , [ 'a' ] ] ) ;
111+ expect ( currentValues ) . toStrictEqual ( [ undefined , 'a' ] ) ;
101112 }
102113 ) ;
103114
@@ -113,6 +124,7 @@ describe('`useAsyncIterState` hook', () => {
113124
114125 const collections = await Promise . all ( range ( 2 ) . map ( ( ) => asyncIterToArray ( values ) ) ) ;
115126 expect ( collections ) . toStrictEqual ( [ [ ] , [ ] ] ) ;
127+ expect ( values . value . current ) . toStrictEqual ( undefined ) ;
116128 }
117129 ) ;
118130
@@ -124,16 +136,21 @@ describe('`useAsyncIterState` hook', () => {
124136 const [ values , setValue ] = renderHook ( ( ) => useAsyncIterState < string > ( ) ) . result . current ;
125137
126138 const consumeStacks : string [ ] [ ] = [ ] ;
139+ const currentValues = [ values . value . current ] ;
127140
128141 for ( const [ i , value ] of [ 'a' , 'b' , 'c' ] . entries ( ) ) {
129142 consumeStacks [ i ] = [ ] ;
130143 ( async ( ) => {
131144 for await ( const v of values ) consumeStacks [ i ] . push ( v ) ;
132145 } ) ( ) ;
133- await act ( ( ) => setValue ( value ) ) ;
146+ await act ( ( ) => {
147+ setValue ( value ) ;
148+ currentValues . push ( values . value . current ) ;
149+ } ) ;
134150 }
135151
136152 expect ( consumeStacks ) . toStrictEqual ( [ [ 'a' , 'b' , 'c' ] , [ 'b' , 'c' ] , [ 'c' ] ] ) ;
153+ expect ( currentValues ) . toStrictEqual ( [ undefined , 'a' , 'b' , 'c' ] ) ;
137154 }
138155 ) ;
139156} ) ;
0 commit comments