From a6788b407bffab3a2ba62288deb54940587c91f7 Mon Sep 17 00:00:00 2001 From: Ruben Bridgewater Date: Sat, 9 Dec 2017 14:05:20 -0200 Subject: [PATCH] assert: fix .throws operator assert.throws and assert.doesNotThrow set the operator to a internal function. That was by accident and originally the operator was undefined. This changes it to show "throws" or "doesNotThrow". PR-URL: https://github.com/nodejs/node/pull/17575 Reviewed-By: Rich Trott Reviewed-By: Colin Ihrig Reviewed-By: James M Snell Reviewed-By: Anatoli Papirovski --- lib/assert.js | 4 ++-- test/parallel/test-assert.js | 16 +++++++++++----- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/lib/assert.js b/lib/assert.js index 52f1a39425bd5e..91b2e56fb81618 100644 --- a/lib/assert.js +++ b/lib/assert.js @@ -180,7 +180,7 @@ function innerThrows(shouldThrow, block, expected, message) { details += ` (${expected.name})`; } details += message ? `: ${message}` : '.'; - fail(actual, expected, `Missing expected exception${details}`, fail); + fail(actual, expected, `Missing expected exception${details}`, 'throws'); } if (expected && expectedException(actual, expected) === false) { throw actual; @@ -191,7 +191,7 @@ function innerThrows(shouldThrow, block, expected, message) { fail(actual, expected, `Got unwanted exception${details}\n${actual.message}`, - fail); + 'doesNotThrow'); } throw actual; } diff --git a/test/parallel/test-assert.js b/test/parallel/test-assert.js index 8bf9b0e6d341fb..c51cefc3a73510 100644 --- a/test/parallel/test-assert.js +++ b/test/parallel/test-assert.js @@ -466,10 +466,15 @@ assert.throws(() => { assert.ifError(new Error('test error')); }, assert.doesNotThrow(() => { assert.ifError(null); }); assert.doesNotThrow(() => { assert.ifError(); }); -assert.throws(() => { - assert.doesNotThrow(makeBlock(thrower, Error), 'user message'); -}, /Got unwanted exception: user message/, - 'a.doesNotThrow ignores user message'); +common.expectsError( + () => assert.doesNotThrow(makeBlock(thrower, Error), 'user message'), + { + type: a.AssertionError, + code: 'ERR_ASSERTION', + operator: 'doesNotThrow', + message: 'Got unwanted exception: user message\n[object Object]' + } +); { let threw = false; @@ -556,7 +561,8 @@ a.throws(makeBlock(thrower, TypeError), (err) => { () => { a.throws((noop)); }, common.expectsError({ code: 'ERR_ASSERTION', - message: /^Missing expected exception\.$/ + message: /^Missing expected exception\.$/, + operator: 'throws' })); assert.throws(