123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- const BaseReporter = require('./base')
- function ProgressReporter (formatError, reportSlow, useColors, browserConsoleLogOptions) {
- BaseReporter.call(this, formatError, reportSlow, useColors, browserConsoleLogOptions)
- this.EXCLUSIVELY_USE_COLORS = false
- this._browsers = []
- 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 ''
- }
- let 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
|