diff options
author | Ruben Bridgewater <ruben@bridgewater.de> | 2019-06-14 10:49:20 +0200 |
---|---|---|
committer | Beth Griggs <Bethany.Griggs@uk.ibm.com> | 2020-02-06 02:49:39 +0000 |
commit | 749bc16cca015c1370b90870fd031d3b7a1bbf4d (patch) | |
tree | 2f81d2897c2341fde581da5daffe6493102762a6 | |
parent | a1d36db9d899f7b5ad3f5f33c65d1628a79a7d82 (diff) | |
download | node-new-749bc16cca015c1370b90870fd031d3b7a1bbf4d.tar.gz |
assert: fix generatedMessage property
This makes sure the `generatedMessage` property is always set as
expected. This was not the case some `assert.throws` and
`assert.rejects` calls.
Backport-PR-URL: https://github.com/nodejs/node/pull/31431
PR-URL: https://github.com/nodejs/node/pull/28263
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
-rw-r--r-- | lib/assert.js | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/assert.js b/lib/assert.js index 025e5bedc0..eb74493c44 100644 --- a/lib/assert.js +++ b/lib/assert.js @@ -578,14 +578,21 @@ function expectedException(actual, expected, message, fn) { if (expected.test(str)) return; - throw new AssertionError({ + if (!message) { + generatedMessage = true; + message = 'The input did not match the regular expression ' + + `${inspect(expected)}. Input:\n\n${inspect(str)}\n`; + } + + const err = new AssertionError({ actual, expected, - message: message || 'The input did not match the regular expression ' + - `${inspect(expected)}. Input:\n\n${inspect(str)}\n`, + message, operator: fn.name, stackStartFn: fn }); + err.generatedMessage = generatedMessage; + throw err; } // Handle primitives properly. |