aboutsummaryrefslogtreecommitdiff
path: root/node_modules/istanbul-reports/lib/lcovonly/index.js
diff options
context:
space:
mode:
authorJoel Kronqvist <joel.h.kronqvist@gmail.com>2022-03-05 19:02:27 +0200
committerJoel Kronqvist <joel.h.kronqvist@gmail.com>2022-03-05 19:02:27 +0200
commit5d309ff52cd399a6b71968a6b9a70c8ac0b98981 (patch)
tree360f7eb50f956e2367ef38fa1fc6ac7ac5258042 /node_modules/istanbul-reports/lib/lcovonly/index.js
parentb500a50f1b97d93c98b36ed9a980f8188d648147 (diff)
downloadLYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.tar.gz
LYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.zip
Added node_modules for the updating to work properly.
Diffstat (limited to 'node_modules/istanbul-reports/lib/lcovonly/index.js')
-rw-r--r--node_modules/istanbul-reports/lib/lcovonly/index.js77
1 files changed, 77 insertions, 0 deletions
diff --git a/node_modules/istanbul-reports/lib/lcovonly/index.js b/node_modules/istanbul-reports/lib/lcovonly/index.js
new file mode 100644
index 0000000..0720e46
--- /dev/null
+++ b/node_modules/istanbul-reports/lib/lcovonly/index.js
@@ -0,0 +1,77 @@
+/*
+ Copyright 2012-2015, Yahoo Inc.
+ Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
+ */
+'use strict';
+const { ReportBase } = require('istanbul-lib-report');
+
+class LcovOnlyReport extends ReportBase {
+ constructor(opts) {
+ super();
+ opts = opts || {};
+ this.file = opts.file || 'lcov.info';
+ this.projectRoot = opts.projectRoot || process.cwd();
+ this.contentWriter = null;
+ }
+
+ onStart(root, context) {
+ this.contentWriter = context.writer.writeFile(this.file);
+ }
+
+ onDetail(node) {
+ const fc = node.getFileCoverage();
+ const writer = this.contentWriter;
+ const functions = fc.f;
+ const functionMap = fc.fnMap;
+ const lines = fc.getLineCoverage();
+ const branches = fc.b;
+ const branchMap = fc.branchMap;
+ const summary = node.getCoverageSummary();
+ const path = require('path');
+
+ writer.println('TN:');
+ const fileName = path.relative(this.projectRoot, fc.path);
+ writer.println('SF:' + fileName);
+
+ Object.values(functionMap).forEach(meta => {
+ // Some versions of the instrumenter in the wild populate 'loc'
+ // but not 'decl':
+ const decl = meta.decl || meta.loc;
+ writer.println('FN:' + [decl.start.line, meta.name].join(','));
+ });
+ writer.println('FNF:' + summary.functions.total);
+ writer.println('FNH:' + summary.functions.covered);
+
+ Object.entries(functionMap).forEach(([key, meta]) => {
+ const stats = functions[key];
+ writer.println('FNDA:' + [stats, meta.name].join(','));
+ });
+
+ Object.entries(lines).forEach(entry => {
+ writer.println('DA:' + entry.join(','));
+ });
+ writer.println('LF:' + summary.lines.total);
+ writer.println('LH:' + summary.lines.covered);
+
+ Object.entries(branches).forEach(([key, branchArray]) => {
+ const meta = branchMap[key];
+ if (meta) {
+ const { line } = meta.loc.start;
+ branchArray.forEach((b, i) => {
+ writer.println('BRDA:' + [line, key, i, b].join(','));
+ });
+ } else {
+ console.warn('Missing coverage entries in', fileName, key);
+ }
+ });
+ writer.println('BRF:' + summary.branches.total);
+ writer.println('BRH:' + summary.branches.covered);
+ writer.println('end_of_record');
+ }
+
+ onEnd() {
+ this.contentWriter.close();
+ }
+}
+
+module.exports = LcovOnlyReport;