summaryrefslogtreecommitdiff
path: root/cli/tests/node_compat/test/parallel/test-util-promisify.js
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/node_compat/test/parallel/test-util-promisify.js')
-rw-r--r--cli/tests/node_compat/test/parallel/test-util-promisify.js218
1 files changed, 0 insertions, 218 deletions
diff --git a/cli/tests/node_compat/test/parallel/test-util-promisify.js b/cli/tests/node_compat/test/parallel/test-util-promisify.js
deleted file mode 100644
index 8046f6fb8..000000000
--- a/cli/tests/node_compat/test/parallel/test-util-promisify.js
+++ /dev/null
@@ -1,218 +0,0 @@
-// deno-fmt-ignore-file
-// deno-lint-ignore-file
-
-// Copyright Joyent and Node contributors. All rights reserved. MIT license.
-// Taken from Node 16.13.0
-// This file is automatically generated by "node/_tools/setup.ts". Do not modify this file manually
-
-'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');
-
-const stat = promisify(fs.stat);
-
-// TODO(wafuwafu13): Fix
-// {
-// const promise = stat(__filename);
-// assert(promise instanceof Promise);
-// promise.then(common.mustCall((value) => {
-// assert.deepStrictEqual(value, fs.statSync(__filename));
-// }));
-// }
-
-{
- const promise = stat('/dontexist');
- promise.catch(common.mustCall((error) => {
- assert(error.message.includes('ENOENT: no such file or directory, stat'));
- }));
-}
-
-{
- function fn() {}
-
- function promisifedFn() {}
- fn[promisify.custom] = promisifedFn;
- assert.strictEqual(promisify(fn), promisifedFn);
- assert.strictEqual(promisify(promisify(fn)), promisifedFn);
-}
-
-{
- function fn() {}
-
- function promisifiedFn() {}
-
- // util.promisify.custom is a shared symbol which can be accessed
- // as `Symbol.for("nodejs.util.promisify.custom")`.
- const kCustomPromisifiedSymbol = Symbol.for('nodejs.util.promisify.custom');
- fn[kCustomPromisifiedSymbol] = promisifiedFn;
-
- assert.strictEqual(kCustomPromisifiedSymbol, promisify.custom);
- assert.strictEqual(promisify(fn), promisifiedFn);
- assert.strictEqual(promisify(promisify(fn)), promisifiedFn);
-}
-
-{
- function fn() {}
- fn[promisify.custom] = 42;
- assert.throws(
- () => promisify(fn),
- { code: 'ERR_INVALID_ARG_TYPE', name: 'TypeError' }
- );
-}
-
-// TODO(wafuwafu13): Fix
-// {
-// 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)),
- Function.prototype);
-}
-
-{
- function fn(callback) {
- callback(null, 'foo', 'bar');
- }
- promisify(fn)().then(common.mustCall((value) => {
- assert.deepStrictEqual(value, 'foo');
- }));
-}
-
-{
- function fn(callback) {
- callback(null);
- }
- promisify(fn)().then(common.mustCall((value) => {
- assert.strictEqual(value, undefined);
- }));
-}
-
-{
- function fn(callback) {
- callback();
- }
- promisify(fn)().then(common.mustCall((value) => {
- assert.strictEqual(value, undefined);
- }));
-}
-
-{
- function fn(err, val, callback) {
- callback(err, val);
- }
- promisify(fn)(null, 42).then(common.mustCall((value) => {
- assert.strictEqual(value, 42);
- }));
-}
-
-{
- function fn(err, val, callback) {
- callback(err, val);
- }
- promisify(fn)(new Error('oops'), null).catch(common.mustCall((err) => {
- assert.strictEqual(err.message, 'oops');
- }));
-}
-
-{
- function fn(err, val, callback) {
- callback(err, val);
- }
-
- (async () => {
- const value = await promisify(fn)(null, 42);
- assert.strictEqual(value, 42);
- })().then(common.mustCall());
-}
-
-{
- const o = {};
- const fn = promisify(function(cb) {
-
- cb(null, this === o);
- });
-
- o.fn = fn;
-
- o.fn().then(common.mustCall((val) => assert(val)));
-}
-
-{
- const err = new Error('Should not have called the callback with the error.');
- const stack = err.stack;
-
- const fn = promisify(function(cb) {
- cb(null);
- cb(err);
- });
-
- (async () => {
- await fn();
- await Promise.resolve();
- return assert.strictEqual(stack, err.stack);
- })().then(common.mustCall());
-}
-
-{
- function c() { }
- const a = promisify(function() { });
- const b = promisify(a);
- assert.notStrictEqual(c, a);
- assert.strictEqual(a, b);
-}
-
-{
- let errToThrow;
- const thrower = promisify(function(a, b, c, cb) {
- errToThrow = new Error();
- throw errToThrow;
- });
- thrower(1, 2, 3)
- .then(assert.fail)
- .then(assert.fail, (e) => assert.strictEqual(e, errToThrow));
-}
-
-{
- const err = new Error();
-
- const a = promisify((cb) => cb(err))();
- const b = promisify(() => { throw err; })();
-
- Promise.all([
- a.then(assert.fail, function(e) {
- assert.strictEqual(err, e);
- }),
- b.then(assert.fail, function(e) {
- assert.strictEqual(err, e);
- }),
- ]);
-}
-
-[undefined, null, true, 0, 'str', {}, [], Symbol()].forEach((input) => {
- assert.throws(
- () => promisify(input),
- {
- code: 'ERR_INVALID_ARG_TYPE',
- name: 'TypeError',
- message: 'The "original" argument must be of type function.' +
- common.invalidArgTypeHelper(input)
- });
-});