summaryrefslogtreecommitdiff
path: root/cli/tests/node_compat/test/parallel/test-net-allow-half-open.js
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/node_compat/test/parallel/test-net-allow-half-open.js')
-rw-r--r--cli/tests/node_compat/test/parallel/test-net-allow-half-open.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/cli/tests/node_compat/test/parallel/test-net-allow-half-open.js b/cli/tests/node_compat/test/parallel/test-net-allow-half-open.js
new file mode 100644
index 000000000..cfc2ec552
--- /dev/null
+++ b/cli/tests/node_compat/test/parallel/test-net-allow-half-open.js
@@ -0,0 +1,54 @@
+// 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 "node/_tools/setup.ts". Do not modify this file manually
+
+'use strict';
+
+const common = require('../common');
+const assert = require('assert');
+const net = require('net');
+
+{
+ const server = net.createServer(common.mustCall((socket) => {
+ socket.end(Buffer.alloc(1024));
+ })).listen(0, common.mustCall(() => {
+ const socket = net.connect(server.address().port);
+ assert.strictEqual(socket.allowHalfOpen, false);
+ socket.resume();
+ socket.on('end', common.mustCall(() => {
+ process.nextTick(() => {
+ // Ensure socket is not destroyed straight away
+ // without proper shutdown.
+ assert(!socket.destroyed);
+ server.close();
+ });
+ }));
+ socket.on('finish', common.mustCall(() => {
+ assert(!socket.destroyed);
+ }));
+ socket.on('close', common.mustCall());
+ }));
+}
+
+{
+ const server = net.createServer(common.mustCall((socket) => {
+ socket.end(Buffer.alloc(1024));
+ })).listen(0, common.mustCall(() => {
+ const socket = net.connect(server.address().port);
+ assert.strictEqual(socket.allowHalfOpen, false);
+ socket.resume();
+ socket.on('end', common.mustCall(() => {
+ assert(!socket.destroyed);
+ }));
+ socket.end('asd');
+ socket.on('finish', common.mustCall(() => {
+ assert(!socket.destroyed);
+ }));
+ socket.on('close', common.mustCall(() => {
+ server.close();
+ }));
+ }));
+}