UNPKG

mukla

Version:

Small, parallel and fast test framework with suppport for async/await, promises, callbacks, streams and observables. Targets and works at node.js v0.10 and above.

62 lines (46 loc) 1.58 kB
'use strict' var util = require('util') var utils = {} /** * Lazily required module dependencies */ utils.alwaysDone = require('always-done') utils.stackMetadata = require('stacktrace-metadata') utils.coreAssert = require('core-assert') utils.errorSymbol = require('error-symbol') utils.extendShallow = require('extend-shallow') utils.getFnName = require('get-fn-name') utils.successSymbol = require('success-symbol') utils.diag = function diagnostic (err, showStack) { var res = ' ---\n' // get message, or toString error object var msg = err.message && err.message.length ? err.message : err.toString() showStack = showStack ? showStack : false // eslint-disable-line no-unneeded-ternary err = utils.stackMetadata(err, { showStack: showStack, shortStack: false }) res += utils.ident('name: ' + err.name) res += utils.ident('message: ' + msg) // show inspected expected value if exists res = err.expected ? res + utils.ident('expected: ' + util.inspect(err.expected)) : res // show inspected actual value if exists res = err.actual ? res + utils.ident('actual: ' + util.inspect(err.actual)) : res res = err.at ? res + utils.ident('at: ' + err.at) : res // print stack trace if `showStack` option is `true` if (showStack && err.stack) { res += utils.ident('stack:\n' + err.stack.split('\n').slice(1).join('\n')) } res += utils.ident('...', true) return res } utils.ident = function ident (str, last) { return ' ' + str + (last ? '' : '\n') } /** * Expose `utils` modules */ module.exports = utils