11import type { CliArguments } from '../arguments'
22import type { Report } from '../program'
33
4+ function version ( ) {
5+ console . log ( 'TAP version 13' )
6+ }
7+
8+ function plan ( total : number ) {
9+ console . log ( `1..${ total } ` )
10+ }
11+
12+ function ok ( n : number , description ?: string ) {
13+ console . log ( `ok ${ n } ${ description ? `- ${ description } ` : '' } ` )
14+ }
15+
16+ function not_ok ( n : number , description ?: string ) {
17+ console . log ( `not ok ${ n } ${ description ? `- ${ description } ` : '' } ` )
18+ }
19+
20+ function meta ( data : Record < string | number , string | number > ) {
21+ console . log ( ' ---' )
22+ for ( let key in data ) {
23+ console . log ( ` ${ key } : ${ data [ key ] } ` )
24+ }
25+ console . log ( ' ...' )
26+ }
27+
428export function print ( { report, context } : Report , params : CliArguments ) {
529 let total_files = context . coverage . coverage_per_stylesheet . length
630 let total_checks = total_files + 1
@@ -11,37 +35,41 @@ export function print({ report, context }: Report, params: CliArguments) {
1135 checks_added ++
1236 }
1337
14- console . log ( 'TAP version 13' )
15- console . log ( `1.. ${ total_checks } ` )
38+ version ( )
39+ plan ( total_checks )
1640
1741 // global line coverage
1842 if ( report . min_line_coverage . ok ) {
19- console . log ( `ok 1 - overall line coverage` )
43+ ok ( 1 , ' overall line coverage' )
2044 } else {
21- console . log ( `not ok 1 - overall line coverage` )
45+ not_ok ( 1 , ' overall line coverage' )
2246 }
2347
2448 // per-file line coverage
2549 if ( report . min_file_line_coverage . expected !== undefined ) {
2650 if ( report . min_file_line_coverage . ok ) {
27- console . log ( `ok 2 - line coverage per file` )
51+ ok ( 2 , ' line coverage per file' )
2852 } else {
29- console . log ( `not ok 2 - line coverage per file` )
53+ not_ok ( 2 , 'line coverage per file' )
54+ meta ( {
55+ expected_min_coverage : report . min_file_line_coverage . expected ,
56+ actual_min_coverage : report . min_file_line_coverage . actual ,
57+ } )
3058 }
3159
3260 for ( let i = 0 ; i < total_files ; i ++ ) {
3361 let sheet = context . coverage . coverage_per_stylesheet [ i ] !
3462 let num = i + checks_added + 1
3563 if ( sheet . line_coverage_ratio < report . min_file_line_coverage . expected ) {
36- console . log ( `not ok ${ num } - ${ sheet . url } ` )
37- console . log ( '---' )
38- console . log ( ` expected_coverage: ${ ( report . min_file_line_coverage . expected * 100 ) . toFixed ( 2 ) } %` )
39- console . log ( ` actual_coverage: ${ ( sheet . line_coverage_ratio * 100 ) . toFixed ( 2 ) } %` )
40- console . log ( ` lines_covered: ${ sheet . covered_lines } ` )
41- console . log ( ` total_lines: ${ sheet . total_lines } ` )
42- console . log ( '...' )
64+ not_ok ( num , sheet . url )
65+ meta ( {
66+ expected_coverage : report . min_file_line_coverage . expected ,
67+ actual_coverage : report . min_file_line_coverage . actual ,
68+ lines_covered : sheet . covered_lines ,
69+ total_lines : sheet . total_lines ,
70+ } )
4371 } else {
44- console . log ( `ok ${ num } - ${ sheet . url } ` )
72+ ok ( num , sheet . url )
4573 }
4674 }
4775 }
0 commit comments