aboutsummaryrefslogtreecommitdiffstats
path: root/vnfmarket/src/main/webapp/vnfmarket/node_modules/istanbul/lib/report/lcov.js
diff options
context:
space:
mode:
Diffstat (limited to 'vnfmarket/src/main/webapp/vnfmarket/node_modules/istanbul/lib/report/lcov.js')
-rw-r--r--vnfmarket/src/main/webapp/vnfmarket/node_modules/istanbul/lib/report/lcov.js65
1 files changed, 65 insertions, 0 deletions
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/istanbul/lib/report/lcov.js b/vnfmarket/src/main/webapp/vnfmarket/node_modules/istanbul/lib/report/lcov.js
new file mode 100644
index 00000000..87e01eaa
--- /dev/null
+++ b/vnfmarket/src/main/webapp/vnfmarket/node_modules/istanbul/lib/report/lcov.js
@@ -0,0 +1,65 @@
+/*
+ Copyright (c) 2012, Yahoo! Inc. All rights reserved.
+ Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
+ */
+
+var path = require('path'),
+ util = require('util'),
+ mkdirp = require('mkdirp'),
+ Report = require('./index'),
+ LcovOnlyReport = require('./lcovonly'),
+ HtmlReport = require('./html');
+
+/**
+ * a `Report` implementation that produces an LCOV coverage file and an associated HTML report from coverage objects.
+ * The name and behavior of this report is designed to ease migration for projects that currently use `yuitest_coverage`
+ *
+ * Usage
+ * -----
+ *
+ * var report = require('istanbul').Report.create('lcov');
+ *
+ *
+ * @class LcovReport
+ * @extends Report
+ * @module report
+ * @constructor
+ * @param {Object} opts optional
+ * @param {String} [opts.dir] the directory in which to the `lcov.info` file.
+ * HTML files are written in a subdirectory called `lcov-report`. Defaults to `process.cwd()`
+ */
+function LcovReport(opts) {
+ Report.call(this);
+ opts = opts || {};
+ var baseDir = path.resolve(opts.dir || process.cwd()),
+ htmlDir = path.resolve(baseDir, 'lcov-report');
+
+ mkdirp.sync(baseDir);
+ this.lcov = new LcovOnlyReport({ dir: baseDir, watermarks: opts.watermarks });
+ this.html = new HtmlReport({ dir: htmlDir, watermarks: opts.watermarks, sourceStore: opts.sourceStore});
+}
+
+LcovReport.TYPE = 'lcov';
+util.inherits(LcovReport, Report);
+
+Report.mix(LcovReport, {
+ synopsis: function () {
+ return 'combined lcovonly and html report that generates an lcov.info file as well as HTML';
+ },
+ writeReport: function (collector, sync) {
+ var handler = this.handleDone.bind(this);
+ this.inProgress = 2;
+ this.lcov.on('done', handler);
+ this.html.on('done', handler);
+ this.lcov.writeReport(collector, sync);
+ this.html.writeReport(collector, sync);
+ },
+ handleDone: function () {
+ this.inProgress -= 1;
+ if (this.inProgress === 0) {
+ this.emit('done');
+ }
+ }
+});
+
+module.exports = LcovReport;