diff options
author | Ruben Bridgewater <ruben@bridgewater.de> | 2019-03-24 21:59:20 +0100 |
---|---|---|
committer | Ruben Bridgewater <ruben@bridgewater.de> | 2019-03-27 22:42:12 +0100 |
commit | 61d1334e5bc422f72ddc7eb5ad259d7b38f3bcdf (patch) | |
tree | b5a442ecfd1d2eb3372b8a1b4325b6380f200722 /test | |
parent | b1094dbe19f31f7a69ad16d193748f610b159073 (diff) | |
download | android-node-v8-61d1334e5bc422f72ddc7eb5ad259d7b38f3bcdf.tar.gz android-node-v8-61d1334e5bc422f72ddc7eb5ad259d7b38f3bcdf.tar.bz2 android-node-v8-61d1334e5bc422f72ddc7eb5ad259d7b38f3bcdf.zip |
util: increase function length when using `callbackify()`
The returned function from `util.callbackify()` should increase the
`length` property by one due to the added callback.
PR-URL: https://github.com/nodejs/node/pull/26893
Fixes: https://github.com/nodejs/node/issues/26890
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Michaƫl Zasso <targos@protonmail.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/parallel/test-util-callbackify.js | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/test/parallel/test-util-callbackify.js b/test/parallel/test-util-callbackify.js index c381924e1b..4d7d46658a 100644 --- a/test/parallel/test-util-callbackify.js +++ b/test/parallel/test-util-callbackify.js @@ -74,6 +74,7 @@ const values = [ } const cbAsyncFn = callbackify(asyncFn); + assert.strictEqual(cbAsyncFn.length, 1); cbAsyncFn(common.mustCall((err, ret) => { assert.strictEqual(ret, undefined); if (err instanceof Error) { @@ -146,6 +147,7 @@ const values = [ } const cbAsyncFn = callbackify(asyncFn); + assert.strictEqual(cbAsyncFn.length, 2); cbAsyncFn(value, common.mustCall((err, ret) => { assert.ifError(err); assert.strictEqual(ret, value); @@ -155,8 +157,16 @@ const values = [ assert.strictEqual(arg, value); return Promise.resolve(arg); } + const obj = {}; + Object.defineProperty(promiseFn, 'length', { + value: obj, + writable: false, + enumerable: false, + configurable: true + }); const cbPromiseFn = callbackify(promiseFn); + assert.strictEqual(promiseFn.length, obj); cbPromiseFn(value, common.mustCall((err, ret) => { assert.ifError(err); assert.strictEqual(ret, value); |