Skip to content

Commit fc46363

Browse files
BridgeARrefack
authored andcommitted
assert: fix assert.fail with zero arguments
PR-URL: #13974 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]>
1 parent 7022260 commit fc46363

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

doc/api/assert.md

+6-2
Original file line numberDiff line numberDiff line change
@@ -256,19 +256,20 @@ If the values are not equal, an `AssertionError` is thrown with a `message`
256256
property set equal to the value of the `message` parameter. If the `message`
257257
parameter is undefined, a default error message is assigned.
258258

259-
## assert.fail(message)
259+
## assert.fail([message])
260260
## assert.fail(actual, expected, message, operator)
261261
<!-- YAML
262262
added: v0.1.21
263263
-->
264264
* `actual` {any}
265265
* `expected` {any}
266-
* `message` {any}
266+
* `message` {any} (default: 'Failed')
267267
* `operator` {string} (default: '!=')
268268

269269
Throws an `AssertionError`. If `message` is falsy, the error message is set as
270270
the values of `actual` and `expected` separated by the provided `operator`.
271271
Otherwise, the error message is the value of `message`.
272+
If no arguments are provided at all, a default message will be used instead.
272273

273274
```js
274275
const assert = require('assert');
@@ -284,6 +285,9 @@ assert.fail('boom');
284285

285286
assert.fail('a', 'b');
286287
// AssertionError: 'a' != 'b'
288+
289+
assert.fail();
290+
// AssertionError: Failed
287291
```
288292

289293
## assert.ifError(value)

lib/assert.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,13 @@ const assert = module.exports = ok;
5252
// display purposes.
5353

5454
function fail(actual, expected, message, operator, stackStartFunction) {
55-
if (arguments.length === 1)
55+
if (arguments.length === 0) {
56+
message = 'Failed';
57+
}
58+
if (arguments.length === 1) {
5659
message = actual;
60+
actual = undefined;
61+
}
5762
if (arguments.length === 2)
5863
operator = '!=';
5964
const errors = lazyErrors();

test/parallel/test-assert-fail.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ assert.throws(
88
common.expectsError({
99
code: 'ERR_ASSERTION',
1010
type: assert.AssertionError,
11-
message: 'undefined undefined undefined'
11+
message: 'Failed'
1212
})
1313
);
1414

0 commit comments

Comments
 (0)