summaryrefslogtreecommitdiff
path: root/cli/tests/unit_node/http_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/unit_node/http_test.ts')
-rw-r--r--cli/tests/unit_node/http_test.ts29
1 files changed, 29 insertions, 0 deletions
diff --git a/cli/tests/unit_node/http_test.ts b/cli/tests/unit_node/http_test.ts
new file mode 100644
index 000000000..c32bf62f2
--- /dev/null
+++ b/cli/tests/unit_node/http_test.ts
@@ -0,0 +1,29 @@
+// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
+
+import http from "node:http";
+import { assertEquals } from "../../../test_util/std/testing/asserts.ts";
+import { assertSpyCalls, spy } from "../../../test_util/std/testing/mock.ts";
+import { deferred } from "../../../test_util/std/async/deferred.ts";
+
+Deno.test("[node/http] ServerResponse _implicitHeader", async () => {
+ const d = deferred<void>();
+ const server = http.createServer((_req, res) => {
+ const writeHeadSpy = spy(res, "writeHead");
+ // deno-lint-ignore no-explicit-any
+ (res as any)._implicitHeader();
+ assertSpyCalls(writeHeadSpy, 1);
+ writeHeadSpy.restore();
+ res.end("Hello World");
+ });
+
+ server.listen(async () => {
+ const { port } = server.address() as { port: number };
+ const res = await fetch(`http://localhost:${port}`);
+ assertEquals(await res.text(), "Hello World");
+ server.close(() => {
+ d.resolve();
+ });
+ });
+
+ await d;
+});