aboutsummaryrefslogtreecommitdiffstats
path: root/vanilla/node_modules/istanbul-reports/lib/teamcity/index.js
diff options
context:
space:
mode:
authorAdam Mathes <adam@adammathes.com>2026-02-13 21:34:48 -0800
committerAdam Mathes <adam@adammathes.com>2026-02-13 21:34:48 -0800
commit76cb9c2a39d477a64824a985ade40507e3bbade1 (patch)
tree41e997aa9c6f538d3a136af61dae9424db2005a9 /vanilla/node_modules/istanbul-reports/lib/teamcity/index.js
parent819a39a21ac992b1393244a4c283bbb125208c69 (diff)
downloadneko-76cb9c2a39d477a64824a985ade40507e3bbade1.tar.gz
neko-76cb9c2a39d477a64824a985ade40507e3bbade1.tar.bz2
neko-76cb9c2a39d477a64824a985ade40507e3bbade1.zip
feat(vanilla): add testing infrastructure and tests (NK-wjnczv)
Diffstat (limited to 'vanilla/node_modules/istanbul-reports/lib/teamcity/index.js')
-rw-r--r--vanilla/node_modules/istanbul-reports/lib/teamcity/index.js67
1 files changed, 67 insertions, 0 deletions
diff --git a/vanilla/node_modules/istanbul-reports/lib/teamcity/index.js b/vanilla/node_modules/istanbul-reports/lib/teamcity/index.js
new file mode 100644
index 0000000..2bca26a
--- /dev/null
+++ b/vanilla/node_modules/istanbul-reports/lib/teamcity/index.js
@@ -0,0 +1,67 @@
+/*
+ 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 TeamcityReport extends ReportBase {
+ constructor(opts) {
+ super();
+
+ opts = opts || {};
+ this.file = opts.file || null;
+ this.blockName = opts.blockName || 'Code Coverage Summary';
+ }
+
+ onStart(node, context) {
+ const metrics = node.getCoverageSummary();
+ const cw = context.writer.writeFile(this.file);
+
+ cw.println('');
+ cw.println("##teamcity[blockOpened name='" + this.blockName + "']");
+
+ //Statements Covered
+ cw.println(
+ lineForKey(metrics.statements.covered, 'CodeCoverageAbsBCovered')
+ );
+ cw.println(
+ lineForKey(metrics.statements.total, 'CodeCoverageAbsBTotal')
+ );
+
+ //Branches Covered
+ cw.println(
+ lineForKey(metrics.branches.covered, 'CodeCoverageAbsRCovered')
+ );
+ cw.println(lineForKey(metrics.branches.total, 'CodeCoverageAbsRTotal'));
+
+ //Functions Covered
+ cw.println(
+ lineForKey(metrics.functions.covered, 'CodeCoverageAbsMCovered')
+ );
+ cw.println(
+ lineForKey(metrics.functions.total, 'CodeCoverageAbsMTotal')
+ );
+
+ //Lines Covered
+ cw.println(
+ lineForKey(metrics.lines.covered, 'CodeCoverageAbsLCovered')
+ );
+ cw.println(lineForKey(metrics.lines.total, 'CodeCoverageAbsLTotal'));
+
+ cw.println("##teamcity[blockClosed name='" + this.blockName + "']");
+ cw.close();
+ }
+}
+
+function lineForKey(value, teamcityVar) {
+ return (
+ "##teamcity[buildStatisticValue key='" +
+ teamcityVar +
+ "' value='" +
+ value +
+ "']"
+ );
+}
+
+module.exports = TeamcityReport;