@@ -502,8 +502,15 @@ describe('electron:serve', () => {
502
502
'a-value'
503
503
] )
504
504
505
+ let exitCb
506
+ mockExeca . on . mockImplementationOnce ( ( eventName , cb ) => {
507
+ expect ( eventName ) . toBe ( 'exit' )
508
+ exitCb = cb
509
+ } )
505
510
// Mock change of background file
506
511
watchCb ( )
512
+ // Call exit callback because app should have quit
513
+ await exitCb ( )
507
514
expect ( mockExeca . removeListener . mock . calls [ 0 ] [ 0 ] ) . toBe ( 'exit' )
508
515
509
516
expect ( execa ) . toHaveBeenCalledTimes ( 2 )
@@ -574,8 +581,15 @@ describe('electron:serve', () => {
574
581
expect ( webpack ) . toHaveBeenCalledTimes ( 1 )
575
582
expect ( execa ) . toHaveBeenCalledTimes ( 1 )
576
583
584
+ let exitCb
585
+ mockExeca . on . mockImplementationOnce ( ( eventName , cb ) => {
586
+ expect ( eventName ) . toBe ( 'exit' )
587
+ exitCb = cb
588
+ } )
577
589
// Mock change of background file
578
590
watchCb ( )
591
+ // Call exit callback because app should have quit
592
+ await exitCb ( )
579
593
expect ( mockExeca . removeListener . mock . calls [ 0 ] [ 0 ] ) . toBe ( 'exit' )
580
594
// Electron was killed and listeners removed
581
595
if ( isWin ) {
@@ -627,8 +641,15 @@ describe('electron:serve', () => {
627
641
expect ( webpack ) . toHaveBeenCalledTimes ( 1 )
628
642
expect ( execa ) . toHaveBeenCalledTimes ( 1 )
629
643
644
+ let exitCb
645
+ mockExeca . on . mockImplementationOnce ( ( eventName , cb ) => {
646
+ expect ( eventName ) . toBe ( 'exit' )
647
+ exitCb = cb
648
+ } )
630
649
// Mock change of listed file
631
650
watchCb [ 'projectPath/listFile' ] ( )
651
+ // Call exit callback because app should have quit
652
+ await exitCb ( )
632
653
expect ( mockExeca . removeListener . mock . calls [ 0 ] [ 0 ] ) . toBe ( 'exit' )
633
654
// Electron was killed and listeners removed
634
655
if ( isWin ) {
@@ -645,8 +666,14 @@ describe('electron:serve', () => {
645
666
// Electron was re-launched
646
667
expect ( execa ) . toHaveBeenCalledTimes ( 2 )
647
668
669
+ mockExeca . on . mockImplementationOnce ( ( eventName , cb ) => {
670
+ expect ( eventName ) . toBe ( 'exit' )
671
+ exitCb = cb
672
+ } )
648
673
// Mock change of background file
649
674
watchCb [ 'projectPath/customBackground' ] ( )
675
+ // Call exit callback because app should have quit
676
+ await exitCb ( )
650
677
expect ( mockExeca . removeListener . mock . calls [ 0 ] [ 0 ] ) . toBe ( 'exit' )
651
678
// Electron was killed and listeners removed
652
679
if ( isWin ) {
0 commit comments