blob: 2e5704bc8300c6f3588623c28eea9b4db240e8ca (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
(function(){
//we want this at global scope so outside callers can find it. In a more realistic implementation we
//should probably put it in a namespace.
window.getCoverageByLine = function(silent) {
var key = null;
var lines = null;
var source = null;
//look for code coverage data
if (typeof window._$jscoverage === 'object') {
for (key in _$jscoverage) {}
lines = _$jscoverage[key];
}
if (!lines && !silent) {
console.log('code coverage data is NOT available');
}
return { 'key': key, 'lines': lines };
};
QUnit.done = function(t) {
var cvgInfo = getCoverageByLine(true);
if (!!cvgInfo.key) {
var testableLines = 0;
var testedLines = 0;
var untestableLines = 0;
for (lineIdx in cvgInfo.lines) {
var cvg = cvgInfo.lines[lineIdx];
if (typeof cvg === 'number') {
testableLines += 1;
if (cvg > 0) {
testedLines += 1;
}
} else {
untestableLines += 1;
}
}
var coverage = '' + Math.floor(100 * testedLines / testableLines) + '%';
var result = document.getElementById('qunit-testresult');
if (result != null) {
result.innerHTML = result.innerHTML + ' ' + coverage + ' test coverage of ' + cvgInfo.key;
} else {
console.log('can\'t find test-result element to update');
}
}
};
}());
|