You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
909 B
33 lines
909 B
'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;
|
|
|