From 5c74efe439ac09c319a4b0bf4a6d25fa6a26c908 Mon Sep 17 00:00:00 2001 From: Gil Tayar Date: Tue, 18 Apr 2017 20:58:33 +0300 Subject: [PATCH] test: add test for promisify customPromisifyArgs PR-URL: https://github.com/nodejs/node/pull/12442 Reviewed-By: Anna Henningsen Reviewed-By: Benjamin Gruenbaum Reviewed-By: Matteo Collina Reviewed-By: James M Snell Reviewed-By: Myles Borins Reviewed-By: Evan Lucas Reviewed-By: William Kapke Reviewed-By: Timothy Gu Reviewed-By: Teddy Katz --- test/parallel/test-util-promisify.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/test/parallel/test-util-promisify.js b/test/parallel/test-util-promisify.js index 04e7647ff9893d..84919714154b28 100644 --- a/test/parallel/test-util-promisify.js +++ b/test/parallel/test-util-promisify.js @@ -1,9 +1,11 @@ 'use strict'; +// Flags: --expose-internals const common = require('../common'); const assert = require('assert'); const fs = require('fs'); const vm = require('vm'); const { promisify } = require('util'); +const { customPromisifyArgs } = require('internal/util'); common.crashOnUnhandledRejection(); @@ -42,6 +44,21 @@ const stat = promisify(fs.stat); 'be a function'); } +{ + const firstValue = 5; + const secondValue = 17; + + function fn(callback) { + callback(null, firstValue, secondValue); + } + + fn[customPromisifyArgs] = ['first', 'second']; + + promisify(fn)().then(common.mustCall((obj) => { + assert.deepStrictEqual(obj, {first: firstValue, second: secondValue}); + })); +} + { const fn = vm.runInNewContext('(function() {})'); assert.notStrictEqual(Object.getPrototypeOf(promisify(fn)),