UNPKG

stryker

Version:
12 lines 2.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var objectUtils_1 = require("../utils/objectUtils"); exports.COVERAGE_CURRENT_TEST_VARIABLE_NAME = '__strykerCoverageCurrentTest__'; var cloneFunctionFragment = "\nfunction clone(source) {\n var result = source;\n if (Array.isArray(source)) {\n result = [];\n source.forEach(function (child, index) {\n result[index] = clone(child);\n });\n } else if (typeof source == \"object\") {\n result = {};\n for (var i in source) {\n result[i] = clone(source[i]);\n }\n }\n return result;\n}"; var BEFORE_EACH_FRAGMENT_PER_TEST = "\nif (!globalCoverage.baseline && window." + exports.COVERAGE_CURRENT_TEST_VARIABLE_NAME + ") {\nglobalCoverage.baseline = clone(window." + exports.COVERAGE_CURRENT_TEST_VARIABLE_NAME + ");\n}"; var AFTER_EACH_FRAGMENT_PER_TEST = "\nglobalCoverage.deviations[id] = coverageResult = {};\nid++;\nvar coveragePerFile = window." + exports.COVERAGE_CURRENT_TEST_VARIABLE_NAME + ";\nif(coveragePerFile) {\nObject.keys(coveragePerFile).forEach(function (file) {\n var coverage = coveragePerFile[file];\n var baseline = globalCoverage.baseline[file];\n var fileResult = { s: {}, f: {} };\n var touchedFile = false;\n for(var i in coverage.s){\n if(coverage.s[i] !== baseline.s[i]){\n fileResult.s[i] = coverage.s[i];\n touchedFile = true;\n }\n }\n for(var i in coverage.f){\n if(coverage.f[i] !== baseline.f[i]){\n fileResult.f[i] = coverage.f[i];\n touchedFile = true;\n }\n }\n if(touchedFile){\n coverageResult[file] = fileResult;\n }\n});\n}"; function coveragePerTestHooks(testFramework) { return objectUtils_1.wrapInClosure("\n var id = 0, globalCoverage, coverageResult;\n window.__coverage__ = globalCoverage = { deviations: {} };\n " + testFramework.beforeEach(BEFORE_EACH_FRAGMENT_PER_TEST) + "\n " + testFramework.afterEach(AFTER_EACH_FRAGMENT_PER_TEST) + "\n " + cloneFunctionFragment + ";\n "); } exports.coveragePerTestHooks = coveragePerTestHooks; //# sourceMappingURL=coverageHooks.js.map