blob: 383c2027c670099f2fc25772dd615e90692bdbf7 (
plain)
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
|
'use strict';
/*
Copyright 2012-2015, Yahoo Inc.
Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
*/
const { ReportBase } = require('istanbul-lib-report');
const LcovOnlyReport = require('../lcovonly');
const HtmlReport = require('../html');
class LcovReport extends ReportBase {
constructor(opts) {
super();
this.lcov = new LcovOnlyReport({ file: 'lcov.info', ...opts });
this.html = new HtmlReport({ subdir: 'lcov-report' });
}
}
['Start', 'End', 'Summary', 'SummaryEnd', 'Detail'].forEach(what => {
const meth = 'on' + what;
LcovReport.prototype[meth] = function(...args) {
const lcov = this.lcov;
const html = this.html;
if (lcov[meth]) {
lcov[meth](...args);
}
if (html[meth]) {
html[meth](...args);
}
};
});
module.exports = LcovReport;
|