UNPKG

cover

Version:

Native JavaScript code coverage

47 lines (41 loc) 1.33 kB
var path = require('path'); var colors = require('../contrib/colors') module.exports.MAX_FILENAME_LENGTH = 60; module.exports.name = "cli"; module.exports.format = function(coverageData) { var stats = coverageData.stats(); var filename = path.relative(process.cwd(), coverageData.filename); if (filename.length > module.exports.MAX_FILENAME_LENGTH) { filename = "…" + filename.substr(filename.length - module.exports.MAX_FILENAME_LENGTH + 2); } var blockPercentage = Math.floor(stats.blocks.percentage * 100); var linePercentage = Math.floor(stats.percentage * 100); var blockColor = "____"; if (blockPercentage >= 75) { blockColor = "green"; } else if (blockPercentage >= 50) { blockColor = "yellow"; } else { blockColor = "red"; } var lineColor = ""; if (linePercentage >= 75) { lineColor = "green"; } else if (linePercentage >= 50) { lineColor = "yellow"; } else { lineColor = "red"; } return [ filename, (Math.floor(stats.percentage * 100) + "%")[lineColor], stats.missing, stats.total, (Math.floor(stats.blocks.percentage * 100) + "%")[blockColor], stats.blocks.missing, stats.blocks.total]; }