summaryrefslogtreecommitdiff
path: root/cli/tests
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests')
-rw-r--r--cli/tests/node_compat/config.jsonc2
-rw-r--r--cli/tests/node_compat/test/parallel/test-tty-stdin-end.js14
-rw-r--r--cli/tests/node_compat/test/parallel/test-ttywrap-invalid-fd.js74
3 files changed, 90 insertions, 0 deletions
diff --git a/cli/tests/node_compat/config.jsonc b/cli/tests/node_compat/config.jsonc
index 8a31f4dc2..93a51b671 100644
--- a/cli/tests/node_compat/config.jsonc
+++ b/cli/tests/node_compat/config.jsonc
@@ -88,6 +88,7 @@
"test-querystring.js",
"test-readline-interface.js",
"test-stdin-from-file-spawn.js",
+ "test-ttywrap-invalid-fd.js",
"test-url-urltooptions.js",
"test-util-format.js",
"test-util-inspect-namespace.js",
@@ -625,6 +626,7 @@
"test-timers-unref-throw-then-ref.js",
"test-timers-user-call.js",
"test-timers-zero-timeout.js",
+ "test-tty-stdin-end.js",
"test-url-domain-ascii-unicode.js",
"test-url-fileurltopath.js",
"test-url-format-invalid-input.js",
diff --git a/cli/tests/node_compat/test/parallel/test-tty-stdin-end.js b/cli/tests/node_compat/test/parallel/test-tty-stdin-end.js
new file mode 100644
index 000000000..ee38cbd2c
--- /dev/null
+++ b/cli/tests/node_compat/test/parallel/test-tty-stdin-end.js
@@ -0,0 +1,14 @@
+// deno-fmt-ignore-file
+// deno-lint-ignore-file
+
+// Copyright Joyent and Node contributors. All rights reserved. MIT license.
+// Taken from Node 18.12.1
+// This file is automatically generated by `tools/node_compat/setup.ts`. Do not modify this file manually.
+
+'use strict';
+require('../common');
+
+// This test ensures that Node.js doesn't crash on `process.stdin.emit("end")`.
+// https://github.com/nodejs/node/issues/1068
+
+process.stdin.emit('end');
diff --git a/cli/tests/node_compat/test/parallel/test-ttywrap-invalid-fd.js b/cli/tests/node_compat/test/parallel/test-ttywrap-invalid-fd.js
new file mode 100644
index 000000000..95b9bffe6
--- /dev/null
+++ b/cli/tests/node_compat/test/parallel/test-ttywrap-invalid-fd.js
@@ -0,0 +1,74 @@
+// deno-fmt-ignore-file
+// deno-lint-ignore-file
+
+// Copyright Joyent and Node contributors. All rights reserved. MIT license.
+// Taken from Node 18.12.1
+// This file is automatically generated by `tools/node_compat/setup.ts`. Do not modify this file manually.
+
+// Flags: --expose-internals
+'use strict';
+
+// const common = require('../common');
+const tty = require('tty');
+// const { internalBinding } = require('internal/test/binding');
+// const {
+// UV_EBADF,
+// UV_EINVAL
+// } = internalBinding('uv');
+const assert = require('assert');
+
+assert.throws(
+ () => new tty.WriteStream(-1),
+ {
+ code: 'ERR_INVALID_FD',
+ name: 'RangeError',
+ message: '"fd" must be a positive integer: -1'
+ }
+);
+
+// {
+// const info = {
+// code: common.isWindows ? 'EBADF' : 'EINVAL',
+// message: common.isWindows ? 'bad file descriptor' : 'invalid argument',
+// errno: common.isWindows ? UV_EBADF : UV_EINVAL,
+// syscall: 'uv_tty_init'
+// };
+
+// const suffix = common.isWindows ?
+// 'EBADF (bad file descriptor)' : 'EINVAL (invalid argument)';
+// const message = `TTY initialization failed: uv_tty_init returned ${suffix}`;
+
+// assert.throws(
+// () => {
+// common.runWithInvalidFD((fd) => {
+// new tty.WriteStream(fd);
+// });
+// }, {
+// code: 'ERR_TTY_INIT_FAILED',
+// name: 'SystemError',
+// message,
+// info
+// }
+// );
+
+// assert.throws(
+// () => {
+// common.runWithInvalidFD((fd) => {
+// new tty.ReadStream(fd);
+// });
+// }, {
+// code: 'ERR_TTY_INIT_FAILED',
+// name: 'SystemError',
+// message,
+// info
+// });
+// }
+
+assert.throws(
+ () => new tty.ReadStream(-1),
+ {
+ code: 'ERR_INVALID_FD',
+ name: 'RangeError',
+ message: '"fd" must be a positive integer: -1'
+ }
+);