mirror of
https://github.com/nodejs/node.git
synced 2024-11-25 16:34:05 +01:00
e48d58b8b2
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>
16 lines
490 B
Plaintext
16 lines
490 B
Plaintext
Exiting with code=1
|
|
assert.js:*
|
|
throw new AssertionError({
|
|
^
|
|
|
|
AssertionError [ERR_ASSERTION]: 1 === 2
|
|
at Object.<anonymous> (*test*message*error_exit.js:*:*)
|
|
at Module._compile (module.js:*:*)
|
|
at Object.Module._extensions..js (module.js:*:*)
|
|
at Module.load (module.js:*:*)
|
|
at tryModuleLoad (module.js:*:*)
|
|
at Function.Module._load (module.js:*:*)
|
|
at Function.Module.runMain (module.js:*:*)
|
|
at startup (bootstrap_node.js:*:*)
|
|
at bootstrap_node.js:*:*
|