intern
Version:
Intern. A next-generation code testing stack for JavaScript.
85 lines • 3.7 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 = tslib_1.__importStar(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) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var map, transformed, context;
var _this = this;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
if (isCoverageMap(data)) {
map = data;
}
else {
map = istanbul_lib_coverage_1.createCoverageMap(data);
}
return [4, this.executor.sourceMapStore.transformCoverage(map)];
case 1:
transformed = _a.sent();
context = istanbul_lib_report_1.createContext({
coverageMap: transformed,
dir: this.directory,
sourceFinder: function (path) {
return _this.executor.sourceMapStore.sourceFinder(path);
},
watermarks: this.watermarks,
});
istanbul_reports_1.create(type, this.getReporterOptions()).execute(context);
return [2];
}
});
});
};
Coverage.prototype.runEnd = function () {
var map = this.executor.coverageMap;
if (map.files().length > 0) {
return 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