11import { it , describe , expect , afterEach } from 'vitest' ;
22import { gray } from 'colorette' ;
3- import { range } from 'lodash-es' ;
43import { cleanup as cleanupMountedReactTrees , act , renderHook } from '@testing-library/react' ;
54import { iterateFormatted , useAsyncIterMulti } from '../../src/index.js' ;
65import { pipe } from '../utils/pipe.js' ;
@@ -26,34 +25,41 @@ describe('`useAsyncIterMulti` hook', () => {
2625 expect ( renderedHook . result . current ) . toStrictEqual ( [ ] ) ;
2726 } ) ;
2827
29- it ( gray ( 'When given multiple `undefined`s, returns them as-are' ) , async ( ) => {
28+ it ( gray ( 'When given multiple `undefined`s and `null`s , returns them as-are' ) , async ( ) => {
3029 let timesRerendered = 0 ;
3130
3231 const renderedHook = renderHook ( ( ) => {
3332 timesRerendered ++ ;
34- return useAsyncIterMulti ( [ ] ) ;
33+ return useAsyncIterMulti ( [ undefined , null , undefined , null ] ) ;
3534 } ) ;
3635
3736 await act ( ( ) => { } ) ;
3837
3938 expect ( timesRerendered ) . toStrictEqual ( 1 ) ;
40- expect ( renderedHook . result . current ) . toStrictEqual ( [ ] ) ;
39+ expect ( renderedHook . result . current ) . toStrictEqual (
40+ [ undefined , null , undefined , null ] . map ( value => ( {
41+ value,
42+ pendingFirst : false ,
43+ done : false ,
44+ error : undefined ,
45+ } ) )
46+ ) ;
4147 } ) ;
4248
4349 it ( gray ( 'When given multiple non-iterables, returns them as-are' ) , async ( ) => {
4450 let timesRerendered = 0 ;
4551
4652 const renderedHook = renderHook ( ( ) => {
4753 timesRerendered ++ ;
48- return useAsyncIterMulti ( [ undefined , undefined , undefined ] ) ;
54+ return useAsyncIterMulti ( [ 'a' , 'b' , 'c' ] ) ;
4955 } ) ;
5056
5157 await act ( ( ) => { } ) ;
5258
5359 expect ( timesRerendered ) . toStrictEqual ( 1 ) ;
5460 expect ( renderedHook . result . current ) . toStrictEqual (
55- range ( 3 ) . map ( ( ) => ( {
56- value : undefined ,
61+ [ 'a' , 'b' , 'c' ] . map ( value => ( {
62+ value,
5763 pendingFirst : false ,
5864 done : false ,
5965 error : undefined ,
0 commit comments