UNPKG

kocha

Version:

Modern, simpler Mocha clone, no globals, lint friendly

66 lines (54 loc) 1.22 kB
'use strict'; var Base = require('./base' /** * Expose `TAP`. */ );exports = module.exports = TAP; /** * Initialize a new `TAP` reporter. * * @api public * @param {Runner} runner */ function TAP(runner) { Base.call(this, runner); var n = 1; var passes = 0; var failures = 0; runner.on('start', function () { var total = runner.grepTotal(runner.suite); console.log('%d..%d', 1, total); }); runner.on('test end', function () { ++n; }); runner.on('pending', function (test) { console.log('ok %d %s # SKIP -', n, title(test)); }); runner.on('pass', function (test) { passes++; console.log('ok %d %s', n, title(test)); }); runner.on('fail', function (test, err) { failures++; console.log('not ok %d %s', n, title(test)); if (err.stack) { console.log(err.stack.replace(/^/gm, ' ')); } }); runner.on('end', function () { console.log('# tests ' + (passes + failures)); console.log('# pass ' + passes); console.log('# fail ' + failures); }); } /** * Return a TAP-safe title of `test` * * @api private * @param {Object} test * @return {String} */ function title(test) { return test.fullTitle().replace(/#/g, ''); }