summaryrefslogtreecommitdiff
path: root/js/net_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'js/net_test.ts')
-rw-r--r--js/net_test.ts92
1 files changed, 54 insertions, 38 deletions
diff --git a/js/net_test.ts b/js/net_test.ts
index f02fa9611..cfbdac0cb 100644
--- a/js/net_test.ts
+++ b/js/net_test.ts
@@ -1,6 +1,22 @@
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
import { testPerm, assert, assertEquals } from "./test_util.ts";
+function deferred(): {
+ resolve: () => void;
+ reject: () => void;
+ promise: Promise<void>;
+} {
+ let resolve: () => void;
+ let reject: () => void;
+ const promise = new Promise<void>(
+ (a, b): void => {
+ resolve = a;
+ reject = b;
+ }
+ );
+ return { resolve, reject, promise };
+}
+
testPerm({ net: true }, function netListenClose(): void {
const listener = Deno.listen("tcp", "127.0.0.1:4500");
listener.close();
@@ -72,24 +88,25 @@ testPerm({ net: true }, async function netDialListen(): Promise<void> {
conn.close();
});
-/* TODO Fix broken test.
-testPerm({ net: true }, async function netCloseReadSuccess() {
+testPerm({ net: true }, async function netCloseReadSuccess(): Promise<void> {
const addr = "127.0.0.1:4500";
const listener = Deno.listen("tcp", addr);
const closeDeferred = deferred();
const closeReadDeferred = deferred();
- listener.accept().then(async conn => {
- await closeReadDeferred.promise;
- await conn.write(new Uint8Array([1, 2, 3]));
- const buf = new Uint8Array(1024);
- const readResult = await conn.read(buf);
- assertEquals(3, readResult.nread);
- assertEquals(4, buf[0]);
- assertEquals(5, buf[1]);
- assertEquals(6, buf[2]);
- conn.close();
- closeDeferred.resolve();
- });
+ listener.accept().then(
+ async (conn): Promise<void> => {
+ await closeReadDeferred.promise;
+ await conn.write(new Uint8Array([1, 2, 3]));
+ const buf = new Uint8Array(1024);
+ const readResult = await conn.read(buf);
+ assertEquals(3, readResult.nread);
+ assertEquals(4, buf[0]);
+ assertEquals(5, buf[1]);
+ assertEquals(6, buf[2]);
+ conn.close();
+ closeDeferred.resolve();
+ }
+ );
const conn = await Deno.dial("tcp", addr);
conn.closeRead(); // closing read
closeReadDeferred.resolve();
@@ -103,18 +120,18 @@ testPerm({ net: true }, async function netCloseReadSuccess() {
listener.close();
conn.close();
});
-*/
-/* TODO Fix broken test.
-testPerm({ net: true }, async function netDoubleCloseRead() {
+testPerm({ net: true }, async function netDoubleCloseRead(): Promise<void> {
const addr = "127.0.0.1:4500";
const listener = Deno.listen("tcp", addr);
const closeDeferred = deferred();
- listener.accept().then(async conn => {
- await conn.write(new Uint8Array([1, 2, 3]));
- await closeDeferred.promise;
- conn.close();
- });
+ listener.accept().then(
+ async (conn): Promise<void> => {
+ await conn.write(new Uint8Array([1, 2, 3]));
+ await closeDeferred.promise;
+ conn.close();
+ }
+ );
const conn = await Deno.dial("tcp", addr);
conn.closeRead(); // closing read
let err;
@@ -131,18 +148,18 @@ testPerm({ net: true }, async function netDoubleCloseRead() {
listener.close();
conn.close();
});
-*/
-/* TODO Fix broken test.
-testPerm({ net: true }, async function netCloseWriteSuccess() {
+testPerm({ net: true }, async function netCloseWriteSuccess(): Promise<void> {
const addr = "127.0.0.1:4500";
const listener = Deno.listen("tcp", addr);
const closeDeferred = deferred();
- listener.accept().then(async conn => {
- await conn.write(new Uint8Array([1, 2, 3]));
- await closeDeferred.promise;
- conn.close();
- });
+ listener.accept().then(
+ async (conn): Promise<void> => {
+ await conn.write(new Uint8Array([1, 2, 3]));
+ await closeDeferred.promise;
+ conn.close();
+ }
+ );
const conn = await Deno.dial("tcp", addr);
conn.closeWrite(); // closing write
const buf = new Uint8Array(1024);
@@ -166,17 +183,17 @@ testPerm({ net: true }, async function netCloseWriteSuccess() {
listener.close();
conn.close();
});
-*/
-/* TODO Fix broken test.
-testPerm({ net: true }, async function netDoubleCloseWrite() {
+testPerm({ net: true }, async function netDoubleCloseWrite(): Promise<void> {
const addr = "127.0.0.1:4500";
const listener = Deno.listen("tcp", addr);
const closeDeferred = deferred();
- listener.accept().then(async conn => {
- await closeDeferred.promise;
- conn.close();
- });
+ listener.accept().then(
+ async (conn): Promise<void> => {
+ await closeDeferred.promise;
+ conn.close();
+ }
+ );
const conn = await Deno.dial("tcp", addr);
conn.closeWrite(); // closing write
let err;
@@ -193,4 +210,3 @@ testPerm({ net: true }, async function netDoubleCloseWrite() {
listener.close();
conn.close();
});
-*/