-
-
Notifications
You must be signed in to change notification settings - Fork 32.9k

Description
- Version:
14.6.0
- Platform:
Darwin Kernel Version 19.5.0 root:xnu-6153.121.2~2/RELEASE_X86_64 x86_64
- Subsystem:
console
What steps will reproduce the bug?
- Create a file, e.g.
index.js
- Add the following content:
console.assert();
- Run the file with the following command:
node index.js
- Observe the console output:
Assertion failed
How often does it reproduce? Is there a required condition?
Always. There are no specific conditions.
What is the expected behavior?
I guess it should not output anything in this case (or at least tell the user that they should specify an expression
/value
).
The typings provided by the lib.dom.d.ts
(VS Code) specify that the assert
method has the following signature:
assert(condition?: boolean, ...data: any[]): void;
Therefore, the value to be checked is optional -> we may not have it in place. Thus, we should handle this possibility.
Even if we do not take into account the TS typings, Node.js docs state as follows:
A simple assertion test that verifies whether value is truthy. If it is not, Assertion failed is logged.
In the mentioned case we do not have any value to perform a check on, therefore, the result of the call is not entirely correct.
So, if the first argument that would be evaluated is an optional parameter, assert
should not print any messages. So, we can handle this situation or at least do nothing in such situations. It seems to be compliant with the Console Standard#assert
Or at least we can add some kind of "warning" in the docs.
What do you see instead?
Console's output: Assertion failed
Additional information
Refs:
P.S. If this should be fixed, I would love to work on that.