This app provides monitoring and information features for the common freifunk user and the technical stuff of a freifunk community.
Code base is taken from a TUM Practical Course project and added here to see if Freifunk Altdorf can use it.
https://www.freifunk-altdorf.de
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.
49 lines
1.5 KiB
49 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) { |
|
var metrics = summary[key], |
|
skipped, |
|
result; |
|
|
|
key = key.substring(0, 1).toUpperCase() + key.substring(1); |
|
if (key.length < 12) { |
|
key += ' '.substring(0, 12 - key.length); |
|
} |
|
result = [key, ':', metrics.pct + '%', '(', metrics.covered + '/' + metrics.total, ')'].join(' '); |
|
skipped = metrics.skipped; |
|
if (skipped > 0) { |
|
result += ', ' + skipped + ' ignored'; |
|
} |
|
return result; |
|
} |
|
|
|
TextSummaryReport.prototype.onStart = function (node, context) { |
|
var summary = node.getCoverageSummary(), |
|
cw, |
|
printLine = function (key) { |
|
var str = lineForKey(summary, key), |
|
clazz = context.classForPercent(key, summary[key].pct); |
|
cw.println(cw.colorize(str, clazz)); |
|
}; |
|
|
|
cw = context.writer.writeFile(this.file); |
|
cw.println(''); |
|
cw.println('=============================== Coverage summary ==============================='); |
|
printLine('statements'); |
|
printLine('branches'); |
|
printLine('functions'); |
|
printLine('lines'); |
|
cw.println('================================================================================'); |
|
cw.close(); |
|
}; |
|
|
|
module.exports = TextSummaryReport;
|
|
|