You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							57 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
	
	
							57 lines
						
					
					
						
							1.5 KiB
						
					
					
				/* | 
						|
 Copyright 2012-2015, Yahoo Inc. | 
						|
 Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. | 
						|
 */ | 
						|
'use strict'; | 
						|
 | 
						|
function TextSummaryReport(opts) { | 
						|
    opts = opts || {}; | 
						|
    this.file = opts.file || null; | 
						|
} | 
						|
 | 
						|
function lineForKey(summary, key) { | 
						|
    const metrics = summary[key]; | 
						|
 | 
						|
    key = key.substring(0, 1).toUpperCase() + key.substring(1); | 
						|
    if (key.length < 12) { | 
						|
        key += '                   '.substring(0, 12 - key.length); | 
						|
    } | 
						|
    const result = [ | 
						|
        key, | 
						|
        ':', | 
						|
        metrics.pct + '%', | 
						|
        '(', | 
						|
        metrics.covered + '/' + metrics.total, | 
						|
        ')' | 
						|
    ].join(' '); | 
						|
    const skipped = metrics.skipped; | 
						|
    if (skipped > 0) { | 
						|
        return result + ', ' + skipped + ' ignored'; | 
						|
    } | 
						|
    return result; | 
						|
} | 
						|
 | 
						|
TextSummaryReport.prototype.onStart = function(node, context) { | 
						|
    const summary = node.getCoverageSummary(); | 
						|
    const cw = context.writer.writeFile(this.file); | 
						|
    const printLine = function(key) { | 
						|
        const str = lineForKey(summary, key); | 
						|
        const clazz = context.classForPercent(key, summary[key].pct); | 
						|
        cw.println(cw.colorize(str, clazz)); | 
						|
    }; | 
						|
 | 
						|
    cw.println(''); | 
						|
    cw.println( | 
						|
        '=============================== Coverage summary ===============================' | 
						|
    ); | 
						|
    printLine('statements'); | 
						|
    printLine('branches'); | 
						|
    printLine('functions'); | 
						|
    printLine('lines'); | 
						|
    cw.println( | 
						|
        '================================================================================' | 
						|
    ); | 
						|
    cw.close(); | 
						|
}; | 
						|
 | 
						|
module.exports = TextSummaryReport;
 | 
						|
 |