summaryrefslogtreecommitdiff
path: root/std/http/server_test.ts
diff options
context:
space:
mode:
authorNayeem Rahman <muhammed.9939@gmail.com>2019-11-09 19:40:22 +0000
committerRy Dahl <ry@tinyclouds.org>2019-11-09 14:40:22 -0500
commitd586f119fa588a590a4ba2b74c8c210de710e3e7 (patch)
tree0a6a249c46c70c8326221ad79fb4e7fc739dc488 /std/http/server_test.ts
parent9889a28008eb9da1793bb9987bafe0b4952dd90a (diff)
net: Check for closing status when iterating Listener (#3309)
std/http/server.ts: Use listener.next() instead of listener.accept()
Diffstat (limited to 'std/http/server_test.ts')
-rw-r--r--std/http/server_test.ts14
1 files changed, 14 insertions, 0 deletions
diff --git a/std/http/server_test.ts b/std/http/server_test.ts
index 5baeaa144..c8d4080ca 100644
--- a/std/http/server_test.ts
+++ b/std/http/server_test.ts
@@ -14,6 +14,7 @@ import {
ServerRequest,
writeResponse,
readRequest,
+ serve,
parseHTTPVersion
} from "./server.ts";
import { delay } from "../util/async.ts";
@@ -580,4 +581,17 @@ test({
}
});
+test({
+ name: "[http] close server while iterating",
+ async fn(): Promise<void> {
+ const server = serve(":8123");
+ const nextWhileClosing = server[Symbol.asyncIterator]().next();
+ server.close();
+ assertEquals(await nextWhileClosing, { value: undefined, done: true });
+
+ const nextAfterClosing = server[Symbol.asyncIterator]().next();
+ assertEquals(await nextAfterClosing, { value: undefined, done: true });
+ }
+});
+
runIfMain(import.meta);