intern
Version:
Intern. A next-generation code testing stack for JavaScript.
73 lines • 2.96 kB
JavaScript
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
define(["require", "exports", "tslib", "istanbul-lib-coverage", "istanbul-lib-report", "istanbul-reports", "./Reporter"], factory);
}
})(function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var istanbul_lib_coverage_1 = require("istanbul-lib-coverage");
var istanbul_lib_report_1 = require("istanbul-lib-report");
var istanbul_reports_1 = require("istanbul-reports");
var Reporter_1 = require("./Reporter");
var eventHandler = Reporter_1.createEventHandler();
var Coverage = (function (_super) {
tslib_1.__extends(Coverage, _super);
function Coverage(executor, options) {
if (options === void 0) { options = {}; }
var _this = _super.call(this, executor, options) || this;
if (options.filename) {
_this.filename = options.filename;
}
if (options.directory) {
_this.directory = options.directory;
}
if (options.watermarks) {
_this.watermarks = options.watermarks;
}
return _this;
}
Coverage.prototype.getReporterOptions = function () {
return {
file: this.filename
};
};
Coverage.prototype.createCoverageReport = function (type, data) {
var map;
if (isCoverageMap(data)) {
map = data;
}
else {
map = istanbul_lib_coverage_1.createCoverageMap(data);
}
var transformed = this.executor.sourceMapStore.transformCoverage(map);
var context = istanbul_lib_report_1.createContext({
dir: this.directory,
sourceFinder: transformed.sourceFinder,
watermarks: this.watermarks
});
var tree = istanbul_lib_report_1.summarizers.pkg(transformed.map);
var report = istanbul_reports_1.create(type, this.getReporterOptions());
tree.visit(report, context);
};
Coverage.prototype.runEnd = function () {
var map = this.executor.coverageMap;
if (map.files().length > 0) {
this.createCoverageReport(this.reportType, map);
}
};
tslib_1.__decorate([
eventHandler()
], Coverage.prototype, "runEnd", null);
return Coverage;
}(Reporter_1.default));
exports.default = Coverage;
function isCoverageMap(value) {
return value != null && typeof value.files === 'function';
}
});
//# sourceMappingURL=Coverage.js.map