aboutsummaryrefslogtreecommitdiff
path: root/node_modules/istanbul-reports/lib/text-summary
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/istanbul-reports/lib/text-summary')
-rw-r--r--node_modules/istanbul-reports/lib/text-summary/index.js49
1 files changed, 49 insertions, 0 deletions
diff --git a/node_modules/istanbul-reports/lib/text-summary/index.js b/node_modules/istanbul-reports/lib/text-summary/index.js
new file mode 100644
index 000000000..46de5d72d
--- /dev/null
+++ b/node_modules/istanbul-reports/lib/text-summary/index.js
@@ -0,0 +1,49 @@
+/*
+ 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;