util: increase function length when using callbackify() · nodejs/node@61d1334 (original) (raw)

Original file line number Diff line number Diff line change
@@ -74,6 +74,7 @@ const values = [
74 74 }
75 75
76 76 const cbAsyncFn = callbackify(asyncFn);
77 +assert.strictEqual(cbAsyncFn.length, 1);
77 78 cbAsyncFn(common.mustCall((err, ret) => {
78 79 assert.strictEqual(ret, undefined);
79 80 if (err instanceof Error) {
@@ -146,6 +147,7 @@ const values = [
146 147 }
147 148
148 149 const cbAsyncFn = callbackify(asyncFn);
150 +assert.strictEqual(cbAsyncFn.length, 2);
149 151 cbAsyncFn(value, common.mustCall((err, ret) => {
150 152 assert.ifError(err);
151 153 assert.strictEqual(ret, value);
@@ -155,8 +157,16 @@ const values = [
155 157 assert.strictEqual(arg, value);
156 158 return Promise.resolve(arg);
157 159 }
160 +const obj = {};
161 +Object.defineProperty(promiseFn, 'length', {
162 +value: obj,
163 +writable: false,
164 +enumerable: false,
165 +configurable: true
166 +});
158 167
159 168 const cbPromiseFn = callbackify(promiseFn);
169 +assert.strictEqual(promiseFn.length, obj);
160 170 cbPromiseFn(value, common.mustCall((err, ret) => {
161 171 assert.ifError(err);
162 172 assert.strictEqual(ret, value);