From e5cdb7206f813274b1b758e0825bb39862a42a8d Mon Sep 17 00:00:00 2001 From: juergba Date: Sun, 29 Sep 2019 17:06:51 +0200 Subject: [PATCH] Base#epilogue(): test with multiple errors --- lib/reporters/base.js | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/reporters/base.js b/lib/reporters/base.js index 69db8f8ac7..8a63de4f79 100644 --- a/lib/reporters/base.js +++ b/lib/reporters/base.js @@ -197,6 +197,7 @@ var generateDiff = (exports.generateDiff = function(actual, expected) { * Error property */ exports.list = function(failures) { + var multipleErr; Base.consoleLog(); failures.forEach(function(test, i) { // format @@ -207,7 +208,14 @@ exports.list = function(failures) { // msg var msg; - var err = test.err; + var err; + if (test.err.multiple) { + multipleErr = multipleErr || [test.err].concat(test.err.multiple); + err = multipleErr.shift(); + } else { + multipleErr = undefined; + err = test.err; + } var message; if (err.message && typeof err.message.toString === 'function') { message = err.message + ''; @@ -298,7 +306,12 @@ function Base(runner, options) { if (showDiff(err)) { stringifyDiffObjs(err); } - test.err = err; + // more than one error per test + if (test.err && err instanceof Error) { + test.err.multiple = (test.err.multiple || []).concat(err); + } else { + test.err = err; + } failures.push(test); }); }