UNPKG

neft

Version:

JavaScript. Everywhere.

68 lines (53 loc) 1.31 kB
'use strict' {utils} = Neft stack = require './stack' errorUtils = require './error' log = switch true when utils.isNode require './loggers/node' else require './loggers/client' SCOPE_PAD = ' ' MIN_TIME_WARN = 100 pad = '' testStartTime = 0 exports.onTestsStart = -> log.onTestsStart() exports.onTestsEnd = -> for error in stack.errors errorString = errorUtils.toString error errorString = errorString.replace /^/gm, SCOPE_PAD msg = '\n' if error.test msg += "#{error.test.getFullMessage()}\n" msg += errorString log.error msg log.onTestsEnd() return exports.onScopeStart = (scope) -> {message} = scope if message is '' return log.log pad + scope.message pad += SCOPE_PAD return exports.onScopeEnd = (scope) -> {message} = scope if message is '' return pad = pad.slice SCOPE_PAD.length return exports.onTestStart = (test) -> testStartTime = Date.now() return exports.onTestEnd = (test) -> msg = pad + test.message duration = Date.now() - testStartTime if duration > MIN_TIME_WARN ms = duration.toFixed(2) msg += " (#{ms} ms)" if test.fulfilled log.ok msg else log.error msg return