@ryunen344/danger-plugin-jacoco
Version:
Dnager JS plugin for jacoco
62 lines • 3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.status = exports.coverageRow = exports.MarkdownProcessor = void 0;
const coverage_status_1 = require("../../model/coverage/coverage-status");
class MarkdownProcessor {
static MARKDOWN_TABLE_HEADER = "| name | c0 cov(%) | c1 cov(%) | complexity(%) | line(%) | methods(%) | class(%) | status |\n";
static MARKDOWN_TABLE_DIVIDER = "| --- | --- | --- | --- | --- | --- | --- | --- |\n";
static MARKDOWN_TABLE_NO_ELEMENT = "| none | none | none | none | none | none | none | none |\n";
static projectReport(minRate, coverage) {
return [
`## JaCoCo Report\n`,
`### \`${coverage.name}\`'s Coverages are `,
`**${coverage.instructionsCov != null ? coverage.instructionsCov.toFixed(2) : "N/A"}%** (c0) and `,
`**${coverage.branchesCov != null ? coverage.branchesCov.toFixed(2) : "N/A"}%** (c1) `,
`${(0, exports.status)(minRate, coverage.instructionsCov, coverage.branchesCov)} `,
`\n`,
].join("");
}
static coverageReport(minRate, coverages) {
if (coverages.length == 0) {
return [this.MARKDOWN_TABLE_HEADER, this.MARKDOWN_TABLE_DIVIDER, this.MARKDOWN_TABLE_NO_ELEMENT].join("");
}
else {
return [this.MARKDOWN_TABLE_HEADER, this.MARKDOWN_TABLE_DIVIDER]
.concat(coverages.map((e) => (0, exports.coverageRow)(minRate, e)))
.join("");
}
}
}
exports.MarkdownProcessor = MarkdownProcessor;
const coverageRow = (minRate, coverage) => {
const row = [
`| \`${coverage.name}\` `,
`| **${coverage.instructionsCov != null ? coverage.instructionsCov.toFixed(2) : "N/A"}** `,
`| **${coverage.branchesCov != null ? coverage.branchesCov.toFixed(2) : "N/A"}** `,
`| ${coverage.complexityRate != null ? coverage.complexityRate.toFixed(2) : "N/A"} `,
`| ${coverage.coveredLinesRate != null ? coverage.coveredLinesRate.toFixed(2) : "N/A"} `,
`| ${coverage.coveredMethodsRate != null ? coverage.coveredMethodsRate.toFixed(2) : "N/A"} `,
`| ${coverage.coveredClassesRate != null ? coverage.coveredClassesRate.toFixed(2) : "N/A"} `,
`| ${(0, exports.status)(minRate, coverage.instructionsCov, coverage.branchesCov)} `,
`|\n`,
];
return row.join("");
};
exports.coverageRow = coverageRow;
const status = (minimun, c0rate, c1rate) => {
if (c0rate == null && c1rate == null) {
// either of coverage, must be not null
return coverage_status_1.COVERAGE_STATUS.BAD;
}
else if (c0rate != null && c0rate >= minimun) {
return coverage_status_1.COVERAGE_STATUS.OK;
}
else if (c1rate != null && c1rate >= minimun) {
return coverage_status_1.COVERAGE_STATUS.OK;
}
else {
return coverage_status_1.COVERAGE_STATUS.BAD;
}
};
exports.status = status;
//# sourceMappingURL=markdown-processor.js.map