test: validate 'expected' argument to mustCall()
instead of silently overwriting invalid values with the default PR-URL: https://github.com/nodejs/node/pull/10692 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Michal Zasso <targos@protonmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
This commit is contained in:
parent
005213b43d
commit
762a303e1f
@ -424,7 +424,10 @@ function runCallChecks(exitCode) {
|
||||
|
||||
|
||||
exports.mustCall = function(fn, expected) {
|
||||
if (typeof expected !== 'number') expected = 1;
|
||||
if (expected === undefined)
|
||||
expected = 1;
|
||||
else if (typeof expected !== 'number')
|
||||
throw new TypeError(`Invalid expected value: ${expected}`);
|
||||
|
||||
const context = {
|
||||
expected: expected,
|
||||
|
@ -5,3 +5,11 @@ const assert = require('assert');
|
||||
common.globalCheck = false;
|
||||
global.gc = 42; // Not a valid global unless --expose_gc is set.
|
||||
assert.deepStrictEqual(common.leakedGlobals(), ['gc']);
|
||||
|
||||
assert.throws(function() {
|
||||
common.mustCall(function() {}, 'foo');
|
||||
}, /^TypeError: Invalid expected value: foo$/);
|
||||
|
||||
assert.throws(function() {
|
||||
common.mustCall(function() {}, /foo/);
|
||||
}, /^TypeError: Invalid expected value: \/foo\/$/);
|
||||
|
Loading…
x
Reference in New Issue
Block a user