diff --git a/lib/assert.js b/lib/assert.js index 025e5bedc02e27..eb74493c443902 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.