@@ -4,6 +4,15 @@ var sys = require('sys'),
4
4
5
5
this . name = 'coverage-report-html' ;
6
6
7
+ function getCoverageClass ( data ) {
8
+ var fullCoverage = ( data . coverage == 100 ) ;
9
+ var okCoverage = ( ! fullCoverage && data . coverage >= 60 ) ;
10
+ var coverageClass = '' ;
11
+ if ( fullCoverage ) coverageClass = 'fullCoverage' ;
12
+ else if ( okCoverage ) coverageClass = 'okCoverage' ;
13
+ else coverageClass = 'poorCoverage' ;
14
+ return coverageClass ;
15
+ }
7
16
this . report = function ( coverageMap ) {
8
17
var out , head , foot ;
9
18
@@ -21,12 +30,12 @@ this.report = function (coverageMap) {
21
30
for ( var filename in coverageMap ) {
22
31
if ( coverageMap . hasOwnProperty ( filename ) ) {
23
32
var data = file . coverage ( filename , coverageMap [ filename ] ) ;
24
-
33
+ var coverageClass = getCoverageClass ( data ) ;
25
34
fs . writeSync ( out , "<h2>" + filename + "</h2>\n" ) ;
26
- fs . writeSync ( out , '<span class="coverage">' + "[ hits: " + data . hits ) ;
35
+ fs . writeSync ( out , '<span class="coverage ' + coverageClass + ' ">' + "[ hits: " + data . hits ) ;
27
36
fs . writeSync ( out , ", misses: " + data . misses + ", sloc: " + data . sloc ) ;
28
- fs . writeSync ( out , ", coverage: " + data . coverage . toFixed ( 2 ) + "% ]" + "</span>\n" ) ;
29
- fs . writeSync ( out , "<ol>\n" ) ;
37
+ fs . writeSync ( out , ", coverage: " + data . coverage . toFixed ( 2 ) + "% ]" + "</span> <a href='#' onclick='expando(this)'>[+]</a> \n" ) ;
38
+ fs . writeSync ( out , "<ol class='collapsed' >\n" ) ;
30
39
31
40
for ( var i = 0 ; i < data . source . length ; i ++ ) {
32
41
fs . writeSync ( out , ' <li class="code ' ) ;
@@ -36,6 +45,7 @@ this.report = function (coverageMap) {
36
45
}
37
46
38
47
fs . writeSync ( out , "</ol>\n" ) ;
48
+ fs . writeSync ( out , "<hr/>\n" ) ;
39
49
}
40
50
}
41
51
0 commit comments