aboutsummaryrefslogtreecommitdiff
path: root/node_modules/mocha/lib/reporters/html-cov.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/mocha/lib/reporters/html-cov.js')
-rw-r--r--node_modules/mocha/lib/reporters/html-cov.js56
1 files changed, 56 insertions, 0 deletions
diff --git a/node_modules/mocha/lib/reporters/html-cov.js b/node_modules/mocha/lib/reporters/html-cov.js
new file mode 100644
index 0000000..e3f2dd9
--- /dev/null
+++ b/node_modules/mocha/lib/reporters/html-cov.js
@@ -0,0 +1,56 @@
+/**
+ * Module dependencies.
+ */
+
+var JSONCov = require('./json-cov');
+var readFileSync = require('fs').readFileSync;
+var join = require('path').join;
+
+/**
+ * Expose `HTMLCov`.
+ */
+
+exports = module.exports = HTMLCov;
+
+/**
+ * Initialize a new `JsCoverage` reporter.
+ *
+ * @api public
+ * @param {Runner} runner
+ */
+function HTMLCov(runner) {
+ var jade = require('jade');
+ var file = join(__dirname, '/templates/coverage.jade');
+ var str = readFileSync(file, 'utf8');
+ var fn = jade.compile(str, { filename: file });
+ var self = this;
+
+ JSONCov.call(this, runner, false);
+
+ runner.on('end', function() {
+ process.stdout.write(fn({
+ cov: self.cov,
+ coverageClass: coverageClass
+ }));
+ });
+}
+
+/**
+ * Return coverage class for a given coverage percentage.
+ *
+ * @api private
+ * @param {number} coveragePctg
+ * @return {string}
+ */
+function coverageClass(coveragePctg) {
+ if (coveragePctg >= 75) {
+ return 'high';
+ }
+ if (coveragePctg >= 50) {
+ return 'medium';
+ }
+ if (coveragePctg >= 25) {
+ return 'low';
+ }
+ return 'terrible';
+}