summaryrefslogtreecommitdiff
path: root/test/parallel/test-assert-deep.js
diff options
context:
space:
mode:
authorJames M Snell <jasnell@gmail.com>2017-04-25 13:18:25 -0700
committerJames M Snell <jasnell@gmail.com>2017-05-04 07:18:17 -0700
commite48d58b8b26bd6f1a59cfb57307906b9b0350272 (patch)
tree20f52e83c2b12abf6f40b7b9b988a039fce467c8 /test/parallel/test-assert-deep.js
parentc1b3b95939884b20a6312822091b9fec2ef9f31f (diff)
downloadandroid-node-v8-e48d58b8b26bd6f1a59cfb57307906b9b0350272.tar.gz
android-node-v8-e48d58b8b26bd6f1a59cfb57307906b9b0350272.tar.bz2
android-node-v8-e48d58b8b26bd6f1a59cfb57307906b9b0350272.zip
assert: fix AssertionError, assign error code
Using `assert.AssertionError()` without the `new` keyword results in a non-intuitive error: ```js > assert.AssertionError({}) TypeError: Cannot assign to read only property 'name' of function 'function ok(value, message) { if (!value) fail(value, true, message, '==', assert.ok); }' at Function.AssertionError (assert.js:45:13) at repl:1:8 at realRunInThisContextScript (vm.js:22:35) at sigintHandlersWrap (vm.js:98:12) at ContextifyScript.Script.runInThisContext (vm.js:24:12) at REPLServer.defaultEval (repl.js:346:29) at bound (domain.js:280:14) at REPLServer.runBound [as eval] (domain.js:293:12) at REPLServer.onLine (repl.js:545:10) at emitOne (events.js:101:20) > ``` The `assert.AssertionError()` can only be used correctly with `new`, so this converts it into a proper ES6 class that will give an appropriate error message. This also associates the appropriate internal/errors code with all `assert.AssertionError` instances and updates the appropriate test cases. PR-URL: https://github.com/nodejs/node/pull/12651 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Diffstat (limited to 'test/parallel/test-assert-deep.js')
-rw-r--r--test/parallel/test-assert-deep.js13
1 files changed, 9 insertions, 4 deletions
diff --git a/test/parallel/test-assert-deep.js b/test/parallel/test-assert-deep.js
index 70f538d919..e54377bdbb 100644
--- a/test/parallel/test-assert-deep.js
+++ b/test/parallel/test-assert-deep.js
@@ -1,5 +1,5 @@
'use strict';
-require('../common');
+const common = require('../common');
const assert = require('assert');
const util = require('util');
@@ -13,7 +13,10 @@ function re(literals, ...values) {
result += str.replace(/[\\^$.*+?()[\]{}|=!<>:-]/g, '\\$&');
result += literals[i + 1];
}
- return new RegExp(`^AssertionError: ${result}$`);
+ return common.expectsError({
+ code: 'ERR_ASSERTION',
+ message: new RegExp(`^${result}$`)
+ });
}
// The following deepEqual tests might seem very weird.
@@ -112,8 +115,10 @@ for (const a of similar) {
assert.throws(
() => { assert.deepEqual(new Set([{a: 0}]), new Set([{a: 1}])); },
- /^AssertionError: Set { { a: 0 } } deepEqual Set { { a: 1 } }$/
-);
+ common.expectsError({
+ code: 'ERR_ASSERTION',
+ message: /^Set { { a: 0 } } deepEqual Set { { a: 1 } }$/
+ }));
function assertDeepAndStrictEqual(a, b) {
assert.deepEqual(a, b);