1
- import { it , describe , expect , afterEach , vi } from 'vitest' ;
1
+ import { it , describe , expect , afterEach } from 'vitest' ;
2
2
import { gray } from 'colorette' ;
3
3
import { range } from 'lodash-es' ;
4
4
import { cleanup as cleanupMountedReactTrees , act , renderHook } from '@testing-library/react' ;
@@ -352,8 +352,8 @@ describe('`useAsyncIterMulti` hook', () => {
352
352
async ( ) => {
353
353
let channel1 = new IteratorChannelTestHelper < 'a' | 'b' | 'c' > ( ) ;
354
354
let channel2 = new IteratorChannelTestHelper < 'a' | 'b' | 'c' > ( ) ;
355
- const channel1ReturnSpy = vi . spyOn ( channel1 , ' return' ) ;
356
- const channel2ReturnSpy = vi . spyOn ( channel2 , ' return' ) ;
355
+ const origChannel1ReturnSpy = channel1 . return ;
356
+ const origChannel2ReturnSpy = channel2 . return ;
357
357
let timesRerendered = 0 ;
358
358
359
359
const renderedHook = renderHook (
@@ -366,17 +366,17 @@ describe('`useAsyncIterMulti` hook', () => {
366
366
367
367
await act ( ( ) => { } ) ;
368
368
expect ( timesRerendered ) . toStrictEqual ( 1 ) ;
369
- expect ( channel1ReturnSpy ) . not . toHaveBeenCalled ( ) ;
370
- expect ( channel2ReturnSpy ) . not . toHaveBeenCalled ( ) ;
369
+ expect ( origChannel1ReturnSpy ) . not . toHaveBeenCalled ( ) ;
370
+ expect ( origChannel2ReturnSpy ) . not . toHaveBeenCalled ( ) ;
371
371
expect ( renderedHook . result . current ) . toStrictEqual ( [
372
372
{ value : undefined , pendingFirst : true , done : false , error : undefined } ,
373
373
{ value : undefined , pendingFirst : true , done : false , error : undefined } ,
374
374
] ) ;
375
375
376
376
await act ( ( ) => channel1 . put ( 'a' ) ) ;
377
377
expect ( timesRerendered ) . toStrictEqual ( 2 ) ;
378
- expect ( channel1ReturnSpy ) . not . toHaveBeenCalled ( ) ;
379
- expect ( channel2ReturnSpy ) . not . toHaveBeenCalled ( ) ;
378
+ expect ( origChannel1ReturnSpy ) . not . toHaveBeenCalled ( ) ;
379
+ expect ( origChannel2ReturnSpy ) . not . toHaveBeenCalled ( ) ;
380
380
expect ( renderedHook . result . current ) . toStrictEqual ( [
381
381
{ value : 'a' , pendingFirst : false , done : false , error : undefined } ,
382
382
{ value : undefined , pendingFirst : true , done : false , error : undefined } ,
@@ -387,8 +387,8 @@ describe('`useAsyncIterMulti` hook', () => {
387
387
renderedHook . rerender ( { values : [ channel1 , channel2 ] as const } ) ;
388
388
} ) ;
389
389
expect ( timesRerendered ) . toStrictEqual ( 3 ) ;
390
- expect ( channel1ReturnSpy ) . toHaveBeenCalled ( ) ;
391
- expect ( channel2ReturnSpy ) . not . toHaveBeenCalled ( ) ;
390
+ expect ( origChannel1ReturnSpy ) . toHaveBeenCalledOnce ( ) ;
391
+ expect ( origChannel2ReturnSpy ) . not . toHaveBeenCalled ( ) ;
392
392
expect ( renderedHook . result . current ) . toStrictEqual ( [
393
393
{ value : 'a' , pendingFirst : true , done : false , error : undefined } ,
394
394
{ value : undefined , pendingFirst : true , done : false , error : undefined } ,
@@ -399,8 +399,8 @@ describe('`useAsyncIterMulti` hook', () => {
399
399
renderedHook . rerender ( { values : [ channel1 , channel2 ] as const } ) ;
400
400
} ) ;
401
401
expect ( timesRerendered ) . toStrictEqual ( 4 ) ;
402
- expect ( channel1ReturnSpy ) . toHaveBeenCalled ( ) ;
403
- expect ( channel2ReturnSpy ) . toHaveBeenCalled ( ) ;
402
+ expect ( origChannel1ReturnSpy ) . toHaveBeenCalledOnce ( ) ;
403
+ expect ( origChannel2ReturnSpy ) . toHaveBeenCalledOnce ( ) ;
404
404
expect ( renderedHook . result . current ) . toStrictEqual ( [
405
405
{ value : 'a' , pendingFirst : true , done : false , error : undefined } ,
406
406
{ value : undefined , pendingFirst : true , done : false , error : undefined } ,
@@ -418,8 +418,6 @@ describe('`useAsyncIterMulti` hook', () => {
418
418
it ( gray ( 'When unmounted will close all the last held active iterators' ) , async ( ) => {
419
419
const channel1 = new IteratorChannelTestHelper < 'a' | 'b' | 'c' > ( ) ;
420
420
const channel2 = new IteratorChannelTestHelper < 'a' | 'b' | 'c' > ( ) ;
421
- const channel1ReturnSpy = vi . spyOn ( channel1 , 'return' ) ;
422
- const channel2ReturnSpy = vi . spyOn ( channel2 , 'return' ) ;
423
421
424
422
const renderedHook = renderHook ( props => useAsyncIterMulti ( props . values ) , {
425
423
initialProps : {
@@ -432,8 +430,8 @@ describe('`useAsyncIterMulti` hook', () => {
432
430
433
431
{
434
432
await act ( ( ) => renderedHook . rerender ( { values : [ channel1 , channel2 ] } ) ) ;
435
- expect ( channel1ReturnSpy ) . not . toHaveBeenCalled ( ) ;
436
- expect ( channel2ReturnSpy ) . not . toHaveBeenCalled ( ) ;
433
+ expect ( channel1 . return ) . not . toHaveBeenCalled ( ) ;
434
+ expect ( channel2 . return ) . not . toHaveBeenCalled ( ) ;
437
435
expect ( renderedHook . result . current ) . toStrictEqual ( [
438
436
{ value : undefined , pendingFirst : true , done : false , error : undefined } ,
439
437
{ value : undefined , pendingFirst : true , done : false , error : undefined } ,
@@ -448,8 +446,8 @@ describe('`useAsyncIterMulti` hook', () => {
448
446
449
447
{
450
448
renderedHook . unmount ( ) ;
451
- expect ( channel1ReturnSpy ) . toHaveBeenCalledOnce ( ) ;
452
- expect ( channel2ReturnSpy ) . toHaveBeenCalledOnce ( ) ;
449
+ expect ( channel1 . return ) . toHaveBeenCalledOnce ( ) ;
450
+ expect ( channel2 . return ) . toHaveBeenCalledOnce ( ) ;
453
451
}
454
452
} ) ;
455
453
@@ -464,12 +462,6 @@ describe('`useAsyncIterMulti` hook', () => {
464
462
const channelB = new IteratorChannelTestHelper < string > ( ) ;
465
463
const channelC = new IteratorChannelTestHelper < string > ( ) ;
466
464
467
- const [ channelReturnSpyA , channelReturnSpyB , channelReturnSpyC ] = [
468
- channelA ,
469
- channelB ,
470
- channelC ,
471
- ] . map ( ch => vi . spyOn ( ch , 'return' ) ) ;
472
-
473
465
const renderedHook = await act ( ( ) =>
474
466
renderHook ( ( { values } ) => useAsyncIterMulti ( values ) , {
475
467
initialProps : { values } ,
@@ -555,9 +547,9 @@ describe('`useAsyncIterMulti` hook', () => {
555
547
values . splice ( 0 , 3 ) ;
556
548
renderedHook . rerender ( { values } ) ;
557
549
} ) ;
558
- expect ( channelReturnSpyC ) . not . toHaveBeenCalled ( ) ;
559
- expect ( channelReturnSpyB ) . not . toHaveBeenCalled ( ) ;
560
- expect ( channelReturnSpyA ) . not . toHaveBeenCalled ( ) ;
550
+ expect ( channelC . return ) . not . toHaveBeenCalled ( ) ;
551
+ expect ( channelB . return ) . not . toHaveBeenCalled ( ) ;
552
+ expect ( channelA . return ) . not . toHaveBeenCalled ( ) ;
561
553
expect ( renderedHook . result . current ) . toStrictEqual ( [
562
554
{ value : 'c_from_iter' , pendingFirst : false , done : false , error : undefined } ,
563
555
{ value : 'b_from_iter' , pendingFirst : false , done : false , error : undefined } ,
@@ -568,9 +560,9 @@ describe('`useAsyncIterMulti` hook', () => {
568
560
values . shift ( ) ;
569
561
renderedHook . rerender ( { values } ) ;
570
562
} ) ;
571
- expect ( channelReturnSpyC ) . toHaveBeenCalledOnce ( ) ;
572
- expect ( channelReturnSpyB ) . not . toHaveBeenCalled ( ) ;
573
- expect ( channelReturnSpyA ) . not . toHaveBeenCalled ( ) ;
563
+ expect ( channelC . return ) . toHaveBeenCalledOnce ( ) ;
564
+ expect ( channelB . return ) . not . toHaveBeenCalled ( ) ;
565
+ expect ( channelA . return ) . not . toHaveBeenCalled ( ) ;
574
566
expect ( renderedHook . result . current ) . toStrictEqual ( [
575
567
{ value : 'b_from_iter' , pendingFirst : false , done : false , error : undefined } ,
576
568
{ value : 'a_from_iter' , pendingFirst : false , done : false , error : undefined } ,
@@ -580,9 +572,9 @@ describe('`useAsyncIterMulti` hook', () => {
580
572
values . shift ( ) ;
581
573
renderedHook . rerender ( { values } ) ;
582
574
} ) ;
583
- expect ( channelReturnSpyC ) . toHaveBeenCalledOnce ( ) ;
584
- expect ( channelReturnSpyB ) . toHaveBeenCalledOnce ( ) ;
585
- expect ( channelReturnSpyA ) . not . toHaveBeenCalled ( ) ;
575
+ expect ( channelC . return ) . toHaveBeenCalledOnce ( ) ;
576
+ expect ( channelB . return ) . toHaveBeenCalledOnce ( ) ;
577
+ expect ( channelA . return ) . not . toHaveBeenCalled ( ) ;
586
578
expect ( renderedHook . result . current ) . toStrictEqual ( [
587
579
{ value : 'a_from_iter' , pendingFirst : false , done : false , error : undefined } ,
588
580
] ) ;
@@ -591,9 +583,9 @@ describe('`useAsyncIterMulti` hook', () => {
591
583
values . shift ( ) ;
592
584
renderedHook . rerender ( { values } ) ;
593
585
} ) ;
594
- expect ( channelReturnSpyC ) . toHaveBeenCalledOnce ( ) ;
595
- expect ( channelReturnSpyB ) . toHaveBeenCalledOnce ( ) ;
596
- expect ( channelReturnSpyA ) . toHaveBeenCalledOnce ( ) ;
586
+ expect ( channelC . return ) . toHaveBeenCalledOnce ( ) ;
587
+ expect ( channelB . return ) . toHaveBeenCalledOnce ( ) ;
588
+ expect ( channelA . return ) . toHaveBeenCalledOnce ( ) ;
597
589
expect ( renderedHook . result . current ) . toStrictEqual ( [ ] ) ;
598
590
}
599
591
) ;
@@ -665,8 +657,6 @@ describe('`useAsyncIterMulti` hook', () => {
665
657
async ( ) => {
666
658
const channel1 = new IteratorChannelTestHelper < string > ( ) ;
667
659
const channel2 = new IteratorChannelTestHelper < string > ( ) ;
668
- const channel1ReturnSpy = vi . spyOn ( channel1 , 'return' ) ;
669
- const channel2ReturnSpy = vi . spyOn ( channel2 , 'return' ) ;
670
660
671
661
const renderedHook = await act ( ( ) =>
672
662
renderHook ( ( ) =>
@@ -685,8 +675,8 @@ describe('`useAsyncIterMulti` hook', () => {
685
675
for ( let i = 0 ; i < 3 ; ++ i ) {
686
676
await act ( ( ) => renderedHook . rerender ( ) ) ;
687
677
}
688
- expect ( channel1ReturnSpy ) . not . toHaveBeenCalled ( ) ;
689
- expect ( channel2ReturnSpy ) . not . toHaveBeenCalled ( ) ;
678
+ expect ( channel1 . return ) . not . toHaveBeenCalled ( ) ;
679
+ expect ( channel2 . return ) . not . toHaveBeenCalled ( ) ;
690
680
691
681
await act ( ( ) => channel1 . put ( 'a' ) ) ;
692
682
expect ( renderedHook . result . current ) . toStrictEqual ( [
0 commit comments