UNPKG

karma

Version:

Spectacular Test Runner for JavaScript.

67 lines (44 loc) 1.19 kB
var BaseReporter = require('./base'); var ProgressReporter = function(formatError, reportSlow) { BaseReporter.call(this, formatError, reportSlow); this.writeCommonMsg = function(msg) { this.write(this._remove() + msg + this._render()); }; this.specSuccess = function() { this.write(this._refresh()); }; this.onBrowserComplete = function() { this.write(this._refresh()); }; this.onRunStart = function() { this._browsers = []; this._isRendered = false; }; this.onBrowserStart = function(browser) { this._browsers.push(browser); if (this._isRendered) { this.write('\n'); } this.write(this._refresh()); }; this._remove = function() { if (!this._isRendered) { return ''; } var cmd = ''; this._browsers.forEach(function() { cmd += '\x1B[1A' + '\x1B[2K'; }); this._isRendered = false; return cmd; }; this._render = function() { this._isRendered = true; return this._browsers.map(this.renderBrowser).join('\n') + '\n'; }; this._refresh = function() { return this._remove() + this._render(); }; }; // PUBLISH module.exports = ProgressReporter;