assert: fix assert.fail()
stack
This makes sure the error message visible in the error stack created when using `assert.fail()` without any arguments or the message set to `undefined` or `null` as only argument. That was masked before due to other changes. PR-URL: https://github.com/nodejs/node/pull/27525 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
This commit is contained in:
parent
7cfcf8069b
commit
3593af00f8
@ -92,9 +92,10 @@ function innerFail(obj) {
|
|||||||
function fail(actual, expected, message, operator, stackStartFn) {
|
function fail(actual, expected, message, operator, stackStartFn) {
|
||||||
const argsLen = arguments.length;
|
const argsLen = arguments.length;
|
||||||
|
|
||||||
let internalMessage;
|
let internalMessage = false;
|
||||||
if (argsLen === 0) {
|
if (actual == null && argsLen <= 1) {
|
||||||
internalMessage = 'Failed';
|
internalMessage = true;
|
||||||
|
message = 'Failed';
|
||||||
} else if (argsLen === 1) {
|
} else if (argsLen === 1) {
|
||||||
message = actual;
|
message = actual;
|
||||||
actual = undefined;
|
actual = undefined;
|
||||||
@ -118,14 +119,11 @@ function fail(actual, expected, message, operator, stackStartFn) {
|
|||||||
actual,
|
actual,
|
||||||
expected,
|
expected,
|
||||||
operator: operator === undefined ? 'fail' : operator,
|
operator: operator === undefined ? 'fail' : operator,
|
||||||
stackStartFn: stackStartFn || fail
|
stackStartFn: stackStartFn || fail,
|
||||||
|
message
|
||||||
};
|
};
|
||||||
if (message !== undefined) {
|
|
||||||
errArgs.message = message;
|
|
||||||
}
|
|
||||||
const err = new AssertionError(errArgs);
|
const err = new AssertionError(errArgs);
|
||||||
if (internalMessage) {
|
if (internalMessage) {
|
||||||
err.message = internalMessage;
|
|
||||||
err.generatedMessage = true;
|
err.generatedMessage = true;
|
||||||
}
|
}
|
||||||
throw err;
|
throw err;
|
||||||
|
@ -13,7 +13,8 @@ assert.throws(
|
|||||||
operator: 'fail',
|
operator: 'fail',
|
||||||
actual: undefined,
|
actual: undefined,
|
||||||
expected: undefined,
|
expected: undefined,
|
||||||
generatedMessage: true
|
generatedMessage: true,
|
||||||
|
stack: /Failed/
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user