Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80669 views
1
#!/usr/bin/env node
2
3
var runforcover = require("../../index");
4
var fs = require('fs');
5
var path = require('path');
6
7
var coverage = runforcover.cover();
8
9
var test1 = require("./src/test1");
10
var test2 = require("./src/test2");
11
12
test1.run();
13
test2.run();
14
15
var types = ['html', 'plain', 'json'];
16
var outDir = 'test-out';
17
try {
18
fs.statSync(outDir);
19
} catch (e) {
20
fs.mkdirSync(outDir, 0755);
21
}
22
23
coverage(function(coverageData) {
24
// coverageData is an object keyed by filename.
25
for(var filename in coverageData) {
26
if (!coverageData.hasOwnProperty(filename)) {
27
continue;
28
}
29
30
types.forEach(function (type) {
31
32
var result = runforcover.formatters[type].format(coverageData[filename]);
33
var filePath = path.join(outDir, path.basename(filename) + "." + type);
34
35
if (type === 'html') {
36
result = "<style>" + "\n"
37
+ " .covered { background: #C9F76F; }" + "\n"
38
+ " .uncovered { background: #FDD; }" + "\n"
39
+ " .partialuncovered { background: #FFA; }" + "\n"
40
+ "</style>" + "\n"
41
+ result;
42
}
43
fs.writeFileSync(filePath, result);
44
});
45
46
// return control back to the original require function
47
coverage.release();
48
}
49
});
50
51