Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80657 views
1
var assert = require('assert');
2
var runforcover = require('../');
3
4
exports.coverageInterface = function() {
5
assert.ok(runforcover.cover);
6
7
var originalRequire = require.extensions['.js'];
8
9
var coverage = runforcover.cover();
10
11
assert.notEqual(originalRequire, require.extensions['.js']);
12
13
var file = require('./src/coverage');
14
15
coverage(function(coverageData) {
16
assert.equal(Object.keys(coverageData).length, 1);
17
assert.equal(Object.keys(coverageData)[0], __dirname + '/src/coverage.js');
18
19
var fileCoverageData = coverageData[Object.keys(coverageData)[0]];
20
21
assert.ok(fileCoverageData.stats);
22
assert.ok(fileCoverageData.missing);
23
24
var stats = fileCoverageData.stats();
25
26
assert.ok(stats.percentage !== undefined);
27
assert.ok(stats.lines !== undefined);
28
assert.ok(stats.missing !== undefined);
29
assert.ok(stats.seen !== undefined);
30
31
assert.equal(stats.lines.length, 3);
32
assert.equal(stats.lines[0].source(), ' if(a > 0) {');
33
assert.equal(stats.lines[1].source(), ' return a + 1;');
34
assert.equal(stats.lines[2].source(), ' return a - 1;');
35
36
file.something(1);
37
stats = fileCoverageData.stats();
38
39
assert.equal(stats.lines.length, 1);
40
assert.equal(stats.lines[0].source(), ' return a - 1;');
41
42
file.something(-1);
43
stats = fileCoverageData.stats();
44
45
assert.equal(stats.lines.length, 0);
46
47
coverage.release();
48
assert.equal(require.extensions['.js'], originalRequire);
49
});
50
};
51
52