@@ -584,66 +584,113 @@ test('coverage with directory and file named "file"', skipIfNoInspector, () => {
584584 assertIncludesReport ( result , 'start of coverage report' ) ;
585585} ) ;
586586
587- test ( 'overrides default excludes when --test-files-glob is used' , skipIfNoInspector , ( ) => {
588- const report = [
589- '# start of coverage report' ,
590- '# ------------------------------------------------------------------' ,
591- '# file | line % | branch % | funcs % | uncovered lines' ,
592- '# ------------------------------------------------------------------' ,
593- '# test | | | | ' ,
594- '# fixtures | | | | ' ,
595- '# test-runner | | | | ' ,
596- '# invalid-tap.js | 100.00 | 100.00 | 100.00 | ' ,
597- '# v8-coverage | | | | ' ,
598- '# throw.js | 71.43 | 50.00 | 100.00 | 5-6' ,
599- '# ------------------------------------------------------------------' ,
600- '# all files | 75.00 | 66.67 | 100.00 | ' ,
601- '# ------------------------------------------------------------------' ,
602- '# end of coverage report' ,
603- ] . join ( '\n' ) ;
587+ test ( 'correctly prints coverage report with --test-files-glob pattern supplied' , skipIfNoInspector , async ( t ) => {
588+ await t . test ( 'overrides default excludes when --test-files-glob is used' , ( ) => {
589+ const report = [
590+ '# start of coverage report' ,
591+ '# ------------------------------------------------------------------' ,
592+ '# file | line % | branch % | funcs % | uncovered lines' ,
593+ '# ------------------------------------------------------------------' ,
594+ '# test | | | | ' ,
595+ '# fixtures | | | | ' ,
596+ '# test-runner | | | | ' ,
597+ '# invalid-tap.js | 100.00 | 100.00 | 100.00 | ' ,
598+ '# v8-coverage | | | | ' ,
599+ '# throw.js | 71.43 | 50.00 | 100.00 | 5-6' ,
600+ '# ------------------------------------------------------------------' ,
601+ '# all files | 75.00 | 66.67 | 100.00 | ' ,
602+ '# ------------------------------------------------------------------' ,
603+ '# end of coverage report' ,
604+ ] . join ( '\n' ) ;
605+
606+ if ( common . isWindows ) {
607+ report = report . replaceAll ( '/' , '\\' ) ;
608+ }
604609
605- const args = [
606- '--test' ,
607- '--experimental-test-coverage' ,
608- '--test-files-glob=**/test-runner/coverage.js' ,
609- '--test-reporter=tap' ,
610- ] ;
611- const result = spawnSync ( process . execPath , args ) ;
610+ const args = [
611+ '--test' ,
612+ '--experimental-test-coverage' ,
613+ '--test-files-glob=**/test-runner/coverage.js' ,
614+ '--test-reporter=tap' ,
615+ ] ;
616+ const result = spawnSync ( process . execPath , args ) ;
612617
613- assert . strictEqual ( result . stderr . toString ( ) , '' ) ;
614- assert ( result . stdout . toString ( ) . includes ( report ) ) ;
615- assert . strictEqual ( result . status , 0 ) ;
616- } ) ;
618+ assert . strictEqual ( result . stderr . toString ( ) , '' ) ;
619+ assert ( result . stdout . toString ( ) . includes ( report ) ) ;
620+ assert . strictEqual ( result . status , 0 ) ;
621+ } ) ;
617622
618- test ( 'does not override explicit excludes when --test-files-glob is used' , skipIfNoInspector , ( ) => {
619- const report = [
620- '# start of coverage report' ,
621- '# --------------------------------------------------------------------------------------------' ,
622- '# file | line % | branch % | funcs % | uncovered lines' ,
623- '# --------------------------------------------------------------------------------------------' ,
624- '# test | | | | ' ,
625- '# fixtures | | | | ' ,
626- '# test-runner | | | | ' ,
627- '# coverage.js | 78.65 | 38.46 | 60.00 | 12-13 16-22 27 39 43-44 61-62 66-67 71-72' ,
628- '# invalid-tap.js | 100.00 | 100.00 | 100.00 | ' ,
629- '# v8-coverage | | | | ' ,
630- '# throw.js | 71.43 | 50.00 | 100.00 | 5-6' ,
631- '# --------------------------------------------------------------------------------------------' ,
632- '# all files | 78.35 | 43.75 | 60.00 | ' ,
633- '# --------------------------------------------------------------------------------------------' ,
634- '# end of coverage report' ,
635- ] . join ( '\n' ) ;
623+ await t . test ( 'does not override excludes when --test-files-glob is used and --test-coverage-exclude is empty' , ( ) => {
624+ const report = [
625+ '# start of coverage report' ,
626+ '# --------------------------------------------------------------------------------------------' ,
627+ '# file | line % | branch % | funcs % | uncovered lines' ,
628+ '# --------------------------------------------------------------------------------------------' ,
629+ '# test | | | | ' ,
630+ '# fixtures | | | | ' ,
631+ '# test-runner | | | | ' ,
632+ '# coverage.js | 78.65 | 38.46 | 60.00 | 12-13 16-22 27 39 43-44 61-62 66-67 71-72' ,
633+ '# invalid-tap.js | 100.00 | 100.00 | 100.00 | ' ,
634+ '# v8-coverage | | | | ' ,
635+ '# throw.js | 71.43 | 50.00 | 100.00 | 5-6' ,
636+ '# --------------------------------------------------------------------------------------------' ,
637+ '# all files | 78.35 | 43.75 | 60.00 | ' ,
638+ '# --------------------------------------------------------------------------------------------' ,
639+ '# end of coverage report' ,
640+ ] . join ( '\n' ) ;
641+
642+ if ( common . isWindows ) {
643+ report = report . replaceAll ( '/' , '\\' ) ;
644+ }
636645
637- const args = [
638- '--test' ,
639- '--experimental-test-coverage' ,
640- '--test-files-glob=**/test-runner/coverage.js' ,
641- '--test-coverage-exclude=!test/** ' ,
642- '--test-reporter=tap' ,
643- ] ;
644- const result = spawnSync ( process . execPath , args ) ;
646+ const args = [
647+ '--test' ,
648+ '--experimental-test-coverage' ,
649+ '--test-files-glob=**/test-runner/coverage.js' ,
650+ '--test-coverage-exclude="" ' ,
651+ '--test-reporter=tap' ,
652+ ] ;
653+ const result = spawnSync ( process . execPath , args ) ;
645654
646- assert . strictEqual ( result . stderr . toString ( ) , '' ) ;
647- assert ( result . stdout . toString ( ) . includes ( report ) ) ;
648- assert . strictEqual ( result . status , 0 ) ;
655+ assert . strictEqual ( result . stderr . toString ( ) , '' ) ;
656+ assert ( result . stdout . toString ( ) . includes ( report ) ) ;
657+ assert . strictEqual ( result . status , 0 ) ;
658+ } ) ;
659+
660+ await t . test ( 'does not override excludes when --test-files-glob and --test-coverage-exclude are used' , ( ) => {
661+ const report = [
662+ '# start of coverage report' ,
663+ '# --------------------------------------------------------------------------------------------' ,
664+ '# file | line % | branch % | funcs % | uncovered lines' ,
665+ '# --------------------------------------------------------------------------------------------' ,
666+ '# test | | | | ' ,
667+ '# fixtures | | | | ' ,
668+ '# test-runner | | | | ' ,
669+ '# coverage.js | 78.65 | 38.46 | 60.00 | 12-13 16-22 27 39 43-44 61-62 66-67 71-72' ,
670+ '# invalid-tap.js | 100.00 | 100.00 | 100.00 | ' ,
671+ '# v8-coverage | | | | ' ,
672+ '# throw.js | 71.43 | 50.00 | 100.00 | 5-6' ,
673+ '# --------------------------------------------------------------------------------------------' ,
674+ '# all files | 78.35 | 43.75 | 60.00 | ' ,
675+ '# --------------------------------------------------------------------------------------------' ,
676+ '# end of coverage report' ,
677+ ] . join ( '\n' ) ;
678+
679+ if ( common . isWindows ) {
680+ report = report . replaceAll ( '/' , '\\' ) ;
681+ }
682+
683+ const args = [
684+ '--test' ,
685+ '--experimental-test-coverage' ,
686+ '--test-files-glob=**/test-runner/coverage.js' ,
687+ '--test-coverage-exclude=!test/**' ,
688+ '--test-reporter=tap' ,
689+ ] ;
690+ const result = spawnSync ( process . execPath , args ) ;
691+
692+ assert . strictEqual ( result . stderr . toString ( ) , '' ) ;
693+ assert ( result . stdout . toString ( ) . includes ( report ) ) ;
694+ assert . strictEqual ( result . status , 0 ) ;
695+ } ) ;
649696} ) ;
0 commit comments