Skip to content

Commit 679800e

Browse files
committed
Base#epilogue(): test with multiple errors
1 parent 2aef07d commit 679800e

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

lib/reporters/base.js

+17-2
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,7 @@ var generateDiff = (exports.generateDiff = function(actual, expected) {
197197
* Error property
198198
*/
199199
exports.list = function(failures) {
200+
var multipleErr, multipleTest;
200201
Base.consoleLog();
201202
failures.forEach(function(test, i) {
202203
// format
@@ -207,7 +208,16 @@ exports.list = function(failures) {
207208

208209
// msg
209210
var msg;
210-
var err = test.err;
211+
var err;
212+
if (test.err && test.err.multiple) {
213+
if (multipleTest !== test) {
214+
multipleTest = test;
215+
multipleErr = [test.err].concat(test.err.multiple);
216+
}
217+
err = multipleErr.shift();
218+
} else {
219+
err = test.err;
220+
}
211221
var message;
212222
if (err.message && typeof err.message.toString === 'function') {
213223
message = err.message + '';
@@ -298,7 +308,12 @@ function Base(runner, options) {
298308
if (showDiff(err)) {
299309
stringifyDiffObjs(err);
300310
}
301-
test.err = err;
311+
// more than one error per test
312+
if (test.err && err instanceof Error) {
313+
test.err.multiple = (test.err.multiple || []).concat(err);
314+
} else {
315+
test.err = err;
316+
}
302317
failures.push(test);
303318
});
304319
}

0 commit comments

Comments
 (0)