1- import { it , describe , expect , afterEach , vi } from 'vitest' ;
1+ import { it , describe , expect , afterEach } from 'vitest' ;
22import { gray } from 'colorette' ;
33import { range } from 'lodash-es' ;
44import { cleanup as cleanupMountedReactTrees , act , renderHook } from '@testing-library/react' ;
@@ -352,8 +352,8 @@ describe('`useAsyncIterMulti` hook', () => {
352352 async ( ) => {
353353 let channel1 = new IteratorChannelTestHelper < 'a' | 'b' | 'c' > ( ) ;
354354 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 ;
357357 let timesRerendered = 0 ;
358358
359359 const renderedHook = renderHook (
@@ -366,17 +366,17 @@ describe('`useAsyncIterMulti` hook', () => {
366366
367367 await act ( ( ) => { } ) ;
368368 expect ( timesRerendered ) . toStrictEqual ( 1 ) ;
369- expect ( channel1ReturnSpy ) . not . toHaveBeenCalled ( ) ;
370- expect ( channel2ReturnSpy ) . not . toHaveBeenCalled ( ) ;
369+ expect ( origChannel1ReturnSpy ) . not . toHaveBeenCalled ( ) ;
370+ expect ( origChannel2ReturnSpy ) . not . toHaveBeenCalled ( ) ;
371371 expect ( renderedHook . result . current ) . toStrictEqual ( [
372372 { value : undefined , pendingFirst : true , done : false , error : undefined } ,
373373 { value : undefined , pendingFirst : true , done : false , error : undefined } ,
374374 ] ) ;
375375
376376 await act ( ( ) => channel1 . put ( 'a' ) ) ;
377377 expect ( timesRerendered ) . toStrictEqual ( 2 ) ;
378- expect ( channel1ReturnSpy ) . not . toHaveBeenCalled ( ) ;
379- expect ( channel2ReturnSpy ) . not . toHaveBeenCalled ( ) ;
378+ expect ( origChannel1ReturnSpy ) . not . toHaveBeenCalled ( ) ;
379+ expect ( origChannel2ReturnSpy ) . not . toHaveBeenCalled ( ) ;
380380 expect ( renderedHook . result . current ) . toStrictEqual ( [
381381 { value : 'a' , pendingFirst : false , done : false , error : undefined } ,
382382 { value : undefined , pendingFirst : true , done : false , error : undefined } ,
@@ -387,8 +387,8 @@ describe('`useAsyncIterMulti` hook', () => {
387387 renderedHook . rerender ( { values : [ channel1 , channel2 ] as const } ) ;
388388 } ) ;
389389 expect ( timesRerendered ) . toStrictEqual ( 3 ) ;
390- expect ( channel1ReturnSpy ) . toHaveBeenCalled ( ) ;
391- expect ( channel2ReturnSpy ) . not . toHaveBeenCalled ( ) ;
390+ expect ( origChannel1ReturnSpy ) . toHaveBeenCalledOnce ( ) ;
391+ expect ( origChannel2ReturnSpy ) . not . toHaveBeenCalled ( ) ;
392392 expect ( renderedHook . result . current ) . toStrictEqual ( [
393393 { value : 'a' , pendingFirst : true , done : false , error : undefined } ,
394394 { value : undefined , pendingFirst : true , done : false , error : undefined } ,
@@ -399,8 +399,8 @@ describe('`useAsyncIterMulti` hook', () => {
399399 renderedHook . rerender ( { values : [ channel1 , channel2 ] as const } ) ;
400400 } ) ;
401401 expect ( timesRerendered ) . toStrictEqual ( 4 ) ;
402- expect ( channel1ReturnSpy ) . toHaveBeenCalled ( ) ;
403- expect ( channel2ReturnSpy ) . toHaveBeenCalled ( ) ;
402+ expect ( origChannel1ReturnSpy ) . toHaveBeenCalledOnce ( ) ;
403+ expect ( origChannel2ReturnSpy ) . toHaveBeenCalledOnce ( ) ;
404404 expect ( renderedHook . result . current ) . toStrictEqual ( [
405405 { value : 'a' , pendingFirst : true , done : false , error : undefined } ,
406406 { value : undefined , pendingFirst : true , done : false , error : undefined } ,
@@ -418,8 +418,6 @@ describe('`useAsyncIterMulti` hook', () => {
418418 it ( gray ( 'When unmounted will close all the last held active iterators' ) , async ( ) => {
419419 const channel1 = new IteratorChannelTestHelper < 'a' | 'b' | 'c' > ( ) ;
420420 const channel2 = new IteratorChannelTestHelper < 'a' | 'b' | 'c' > ( ) ;
421- const channel1ReturnSpy = vi . spyOn ( channel1 , 'return' ) ;
422- const channel2ReturnSpy = vi . spyOn ( channel2 , 'return' ) ;
423421
424422 const renderedHook = renderHook ( props => useAsyncIterMulti ( props . values ) , {
425423 initialProps : {
@@ -432,8 +430,8 @@ describe('`useAsyncIterMulti` hook', () => {
432430
433431 {
434432 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 ( ) ;
437435 expect ( renderedHook . result . current ) . toStrictEqual ( [
438436 { value : undefined , pendingFirst : true , done : false , error : undefined } ,
439437 { value : undefined , pendingFirst : true , done : false , error : undefined } ,
@@ -448,8 +446,8 @@ describe('`useAsyncIterMulti` hook', () => {
448446
449447 {
450448 renderedHook . unmount ( ) ;
451- expect ( channel1ReturnSpy ) . toHaveBeenCalledOnce ( ) ;
452- expect ( channel2ReturnSpy ) . toHaveBeenCalledOnce ( ) ;
449+ expect ( channel1 . return ) . toHaveBeenCalledOnce ( ) ;
450+ expect ( channel2 . return ) . toHaveBeenCalledOnce ( ) ;
453451 }
454452 } ) ;
455453
@@ -464,12 +462,6 @@ describe('`useAsyncIterMulti` hook', () => {
464462 const channelB = new IteratorChannelTestHelper < string > ( ) ;
465463 const channelC = new IteratorChannelTestHelper < string > ( ) ;
466464
467- const [ channelReturnSpyA , channelReturnSpyB , channelReturnSpyC ] = [
468- channelA ,
469- channelB ,
470- channelC ,
471- ] . map ( ch => vi . spyOn ( ch , 'return' ) ) ;
472-
473465 const renderedHook = await act ( ( ) =>
474466 renderHook ( ( { values } ) => useAsyncIterMulti ( values ) , {
475467 initialProps : { values } ,
@@ -555,9 +547,9 @@ describe('`useAsyncIterMulti` hook', () => {
555547 values . splice ( 0 , 3 ) ;
556548 renderedHook . rerender ( { values } ) ;
557549 } ) ;
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 ( ) ;
561553 expect ( renderedHook . result . current ) . toStrictEqual ( [
562554 { value : 'c_from_iter' , pendingFirst : false , done : false , error : undefined } ,
563555 { value : 'b_from_iter' , pendingFirst : false , done : false , error : undefined } ,
@@ -568,9 +560,9 @@ describe('`useAsyncIterMulti` hook', () => {
568560 values . shift ( ) ;
569561 renderedHook . rerender ( { values } ) ;
570562 } ) ;
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 ( ) ;
574566 expect ( renderedHook . result . current ) . toStrictEqual ( [
575567 { value : 'b_from_iter' , pendingFirst : false , done : false , error : undefined } ,
576568 { value : 'a_from_iter' , pendingFirst : false , done : false , error : undefined } ,
@@ -580,9 +572,9 @@ describe('`useAsyncIterMulti` hook', () => {
580572 values . shift ( ) ;
581573 renderedHook . rerender ( { values } ) ;
582574 } ) ;
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 ( ) ;
586578 expect ( renderedHook . result . current ) . toStrictEqual ( [
587579 { value : 'a_from_iter' , pendingFirst : false , done : false , error : undefined } ,
588580 ] ) ;
@@ -591,9 +583,9 @@ describe('`useAsyncIterMulti` hook', () => {
591583 values . shift ( ) ;
592584 renderedHook . rerender ( { values } ) ;
593585 } ) ;
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 ( ) ;
597589 expect ( renderedHook . result . current ) . toStrictEqual ( [ ] ) ;
598590 }
599591 ) ;
@@ -665,8 +657,6 @@ describe('`useAsyncIterMulti` hook', () => {
665657 async ( ) => {
666658 const channel1 = new IteratorChannelTestHelper < string > ( ) ;
667659 const channel2 = new IteratorChannelTestHelper < string > ( ) ;
668- const channel1ReturnSpy = vi . spyOn ( channel1 , 'return' ) ;
669- const channel2ReturnSpy = vi . spyOn ( channel2 , 'return' ) ;
670660
671661 const renderedHook = await act ( ( ) =>
672662 renderHook ( ( ) =>
@@ -685,8 +675,8 @@ describe('`useAsyncIterMulti` hook', () => {
685675 for ( let i = 0 ; i < 3 ; ++ i ) {
686676 await act ( ( ) => renderedHook . rerender ( ) ) ;
687677 }
688- expect ( channel1ReturnSpy ) . not . toHaveBeenCalled ( ) ;
689- expect ( channel2ReturnSpy ) . not . toHaveBeenCalled ( ) ;
678+ expect ( channel1 . return ) . not . toHaveBeenCalled ( ) ;
679+ expect ( channel2 . return ) . not . toHaveBeenCalled ( ) ;
690680
691681 await act ( ( ) => channel1 . put ( 'a' ) ) ;
692682 expect ( renderedHook . result . current ) . toStrictEqual ( [
0 commit comments