@@ -44,10 +44,7 @@ function getTapCoverageFixtureReport() {
4444}
4545
4646const fixture = fixtures . path ( 'test-runner' , 'coverage.js' ) ;
47- const neededArguments = [
48- '--experimental-test-coverage' ,
49- '--test-reporter' , 'tap' ,
50- ] ;
47+ const reporter = fixtures . fileURL ( 'test-runner/custom_reporters/coverage.mjs' ) ;
5148
5249const coverages = [
5350 { flag : '--test-coverage-lines' , name : 'line' , actual : 78.35 } ,
@@ -56,10 +53,12 @@ const coverages = [
5653] ;
5754
5855for ( const coverage of coverages ) {
59- test ( `test passing ${ coverage . flag } ` , async ( t ) => {
56+ test ( `test passing ${ coverage . flag } ` , ( ) => {
6057 const result = spawnSync ( process . execPath , [
61- ...neededArguments ,
58+ '--test' ,
59+ '--experimental-test-coverage' ,
6260 `${ coverage . flag } =25` ,
61+ '--test-reporter' , 'tap' ,
6362 fixture ,
6463 ] ) ;
6564
@@ -70,10 +69,27 @@ for (const coverage of coverages) {
7069 assert ( ! findCoverageFileForPid ( result . pid ) ) ;
7170 } ) ;
7271
73- test ( `test failing ${ coverage . flag } ` , async ( t ) => {
72+ test ( `test passing ${ coverage . flag } with custom reporter` , ( ) => {
73+ const result = spawnSync ( process . execPath , [
74+ '--test' ,
75+ '--experimental-test-coverage' ,
76+ `${ coverage . flag } =25` ,
77+ '--test-reporter' , reporter ,
78+ fixture ,
79+ ] ) ;
80+
81+ const stdout = JSON . parse ( result . stdout . toString ( ) ) ;
82+ assert . strictEqual ( stdout . summary . thresholds [ coverage . name ] , 25 ) ;
83+ assert . strictEqual ( result . status , 0 ) ;
84+ assert ( ! findCoverageFileForPid ( result . pid ) ) ;
85+ } ) ;
86+
87+ test ( `test failing ${ coverage . flag } ` , ( ) => {
7488 const result = spawnSync ( process . execPath , [
75- ...neededArguments ,
89+ '--test' ,
90+ '--experimental-test-coverage' ,
7691 `${ coverage . flag } =99` ,
92+ '--test-reporter' , 'tap' ,
7793 fixture ,
7894 ] ) ;
7995
@@ -84,9 +100,25 @@ for (const coverage of coverages) {
84100 assert ( ! findCoverageFileForPid ( result . pid ) ) ;
85101 } ) ;
86102
87- test ( `test out-of-range ${ coverage . flag } (too high)` , async ( t ) => {
103+ test ( `test failing ${ coverage . flag } with custom reporter` , ( ) => {
104+ const result = spawnSync ( process . execPath , [
105+ '--test' ,
106+ '--experimental-test-coverage' ,
107+ `${ coverage . flag } =99` ,
108+ '--test-reporter' , reporter ,
109+ fixture ,
110+ ] ) ;
111+
112+ const stdout = JSON . parse ( result . stdout . toString ( ) ) ;
113+ assert . strictEqual ( stdout . summary . thresholds [ coverage . name ] , 99 ) ;
114+ assert . strictEqual ( result . status , 1 ) ;
115+ assert ( ! findCoverageFileForPid ( result . pid ) ) ;
116+ } ) ;
117+
118+ test ( `test out-of-range ${ coverage . flag } (too high)` , ( ) => {
88119 const result = spawnSync ( process . execPath , [
89- ...neededArguments ,
120+ '--test' ,
121+ '--experimental-test-coverage' ,
90122 `${ coverage . flag } =101` ,
91123 fixture ,
92124 ] ) ;
@@ -96,9 +128,10 @@ for (const coverage of coverages) {
96128 assert ( ! findCoverageFileForPid ( result . pid ) ) ;
97129 } ) ;
98130
99- test ( `test out-of-range ${ coverage . flag } (too low)` , async ( t ) => {
131+ test ( `test out-of-range ${ coverage . flag } (too low)` , ( ) => {
100132 const result = spawnSync ( process . execPath , [
101- ...neededArguments ,
133+ '--test' ,
134+ '--experimental-test-coverage' ,
102135 `${ coverage . flag } =-1` ,
103136 fixture ,
104137 ] ) ;
0 commit comments