|
|
@ -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) { |
|
|
|
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
|
|
|
|