From 4716dc662d8d24d4d454dd4459ff724588e98eb1 Mon Sep 17 00:00:00 2001 From: isaacs Date: Wed, 3 Apr 2013 09:43:17 -0700 Subject: [PATCH] assert: Simplify AssertError creation --- lib/assert.js | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/lib/assert.js b/lib/assert.js index a2afdcf..078efe3 100644 --- a/lib/assert.js +++ b/lib/assert.js @@ -38,16 +38,14 @@ var assert = module.exports = ok; // expected: expected }) assert.AssertionError = function AssertionError(options) { - this.name = 'AssertionError'; this.message = options.message; this.actual = options.actual; this.expected = options.expected; this.operator = options.operator; var stackStartFunction = options.stackStartFunction || fail; - if (Error.captureStackTrace) { - Error.captureStackTrace(this, stackStartFunction); - } + this.name = getName(this, options.message); + Error.captureStackTrace(this, stackStartFunction); }; // assert.AssertionError instanceof Error @@ -74,18 +72,16 @@ function truncate(s, n) { } } -assert.AssertionError.prototype.toString = function() { - if (this.message) { - return [this.name + ':', this.message].join(' '); +function getName(self, message) { + if (message) { + return 'AssertionError: ' + message; } else { - return [ - this.name + ':', - truncate(JSON.stringify(this.actual, replacer), 128), - this.operator, - truncate(JSON.stringify(this.expected, replacer), 128) - ].join(' '); + return 'AssertionError: ' + + truncate(JSON.stringify(self.actual, replacer), 128) + ' ' + + self.operator + ' ' + + truncate(JSON.stringify(self.expected, replacer), 128); } -}; +} // At present only the three keys mentioned above are used and // understood by the spec. Implementations or sub modules can pass -- 2.7.4