Skip to content

Commit

Permalink
Merge pull request #2101 from jkimbo/non-string-error-messages
Browse files Browse the repository at this point in the history
Non string error messages
  • Loading branch information
danielstjules committed Feb 19, 2016
2 parents 0543798 + e0a43d2 commit 9c41051
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 2 deletions.
4 changes: 2 additions & 2 deletions lib/reporters/base.js
Original file line number Diff line number Diff line change
Expand Up @@ -170,8 +170,8 @@ exports.list = function(failures) {
var msg;
var err = test.err;
var message;
if (err.message) {
message = err.message;
if (err.message && typeof err.message.toString === 'function') {
message = err.message + '';
} else if (typeof err.inspect === 'function') {
message = err.inspect() + '';
} else {
Expand Down
23 changes: 23 additions & 0 deletions test/reporters/base.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
var assert = require('assert');

var Base = require('../../lib/reporters/base')
, Assert = require('assert').AssertionError;

Expand Down Expand Up @@ -149,6 +151,27 @@ describe('Base reporter', function () {
errOut.should.match(/\+ expected/);
});

it('should handle error messages that are not strings', function () {
var errOut;

try {
assert(false, true);
} catch (err) {
err.actual = false;
err.expected = true;
err.showDiff = true;
var test = makeTest(err);

Base.list([test]);

errOut = stdout.join('\n');
errOut.should.match(/\+true/);
errOut.should.match(/\-false/);
errOut.should.match(/\- actual/);
errOut.should.match(/\+ expected/);
}
});

it('should remove message from stack', function () {
var err = {
message: 'Error',
Expand Down

0 comments on commit 9c41051

Please sign in to comment.