Skip to content

Commit 1c4e623

Browse files
authored
Fix: control stringification of error message (#4128)
1 parent 1b5cbf1 commit 1c4e623

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed

lib/reporters/base.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -236,10 +236,10 @@ exports.list = function(failures) {
236236
err = test.err;
237237
}
238238
var message;
239-
if (err.message && typeof err.message.toString === 'function') {
240-
message = err.message + '';
241-
} else if (typeof err.inspect === 'function') {
239+
if (typeof err.inspect === 'function') {
242240
message = err.inspect() + '';
241+
} else if (err.message && typeof err.message.toString === 'function') {
242+
message = err.message + '';
243243
} else {
244244
message = '';
245245
}

test/reporters/base.spec.js

+10-8
Original file line numberDiff line numberDiff line change
@@ -366,22 +366,24 @@ describe('Base reporter', function() {
366366
expect(errOut, 'to be', '1) test title:\n Error\n foo\n bar');
367367
});
368368

369-
it("should use 'inspect' if 'message' is not set", function() {
370-
var err = {
371-
showDiff: false,
372-
inspect: function() {
373-
return 'an error happened';
374-
}
369+
it("should use 'inspect' if 'inspect' and 'message' are set", function() {
370+
var err = new Error('test');
371+
err.showDiff = false;
372+
err.message = 'error message';
373+
err.inspect = function() {
374+
return 'Inspect Error';
375375
};
376+
376377
var test = makeTest(err);
377378

378379
list([test]);
379380

380381
var errOut = stdout.join('\n').trim();
381-
expect(errOut, 'to be', '1) test title:\n an error happened');
382+
383+
expect(errOut, 'to contain', 'Inspect Error');
382384
});
383385

384-
it("should set an empty message if neither 'message' nor 'inspect' is set", function() {
386+
it("should set an empty message if neither 'inspect' nor 'message' is set", function() {
385387
var err = {
386388
showDiff: false
387389
};

0 commit comments

Comments
 (0)