diff --git a/lib/reporters/base.js b/lib/reporters/base.js index 8782f64914..8395c7dffd 100644 --- a/lib/reporters/base.js +++ b/lib/reporters/base.js @@ -236,10 +236,10 @@ exports.list = function(failures) { err = test.err; } var message; - if (err.message && typeof err.message.toString === 'function') { - message = err.message + ''; - } else if (typeof err.inspect === 'function') { + if (typeof err.inspect === 'function') { message = err.inspect() + ''; + } else if (err.message && typeof err.message.toString === 'function') { + message = err.message + ''; } else { message = ''; } diff --git a/test/reporters/base.spec.js b/test/reporters/base.spec.js index e8e0a782e9..69b31d301d 100644 --- a/test/reporters/base.spec.js +++ b/test/reporters/base.spec.js @@ -366,22 +366,24 @@ describe('Base reporter', function() { expect(errOut, 'to be', '1) test title:\n Error\n foo\n bar'); }); - it("should use 'inspect' if 'message' is not set", function() { - var err = { - showDiff: false, - inspect: function() { - return 'an error happened'; - } + it("should use 'inspect' if 'inspect' and 'message' are set", function() { + var err = new Error('test'); + err.showDiff = false; + err.message = 'error message'; + err.inspect = function() { + return 'Inspect Error'; }; + var test = makeTest(err); list([test]); var errOut = stdout.join('\n').trim(); - expect(errOut, 'to be', '1) test title:\n an error happened'); + + expect(errOut, 'to contain', 'Inspect Error'); }); - it("should set an empty message if neither 'message' nor 'inspect' is set", function() { + it("should set an empty message if neither 'inspect' nor 'message' is set", function() { var err = { showDiff: false };