summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/unit/serve_test.ts82
1 files changed, 82 insertions, 0 deletions
diff --git a/tests/unit/serve_test.ts b/tests/unit/serve_test.ts
index 827a094dc..ea5a7d3ef 100644
--- a/tests/unit/serve_test.ts
+++ b/tests/unit/serve_test.ts
@@ -861,6 +861,88 @@ Deno.test(
},
);
+Deno.test({ permissions: { net: true } }, async function validPortString() {
+ const server = Deno.serve({
+ handler: (_request) => new Response(),
+ port: "4501" as unknown as number,
+ });
+ assertEquals(server.addr.transport, "tcp");
+ assertEquals(server.addr.port, 4501);
+ await server.shutdown();
+});
+
+Deno.test({ permissions: { net: true } }, function invalidPortFloat() {
+ assertThrows(
+ () =>
+ Deno.serve({
+ handler: (_request) => new Response(),
+ port: 45.1,
+ }),
+ TypeError,
+ `Invalid port: 45.1`,
+ );
+});
+
+Deno.test({ permissions: { net: true } }, function invalidPortNaN() {
+ assertThrows(
+ () =>
+ Deno.serve({
+ handler: (_request) => new Response(),
+ port: NaN,
+ }),
+ TypeError,
+ `Invalid port: NaN`,
+ );
+});
+
+Deno.test({ permissions: { net: true } }, function invalidPortString() {
+ assertThrows(
+ () =>
+ Deno.serve({
+ handler: (_request) => new Response(),
+ port: "some-non-number-string" as unknown as number,
+ }),
+ TypeError,
+ `Invalid port: 'some-non-number-string'`,
+ );
+});
+
+Deno.test({ permissions: { net: true } }, function invalidPortTooSmall() {
+ assertThrows(
+ () =>
+ Deno.serve({
+ handler: (_request) => new Response(),
+ port: -111,
+ }),
+ RangeError,
+ `Invalid port (out of range): -111`,
+ );
+});
+
+Deno.test({ permissions: { net: true } }, function invalidPortTooLarge() {
+ assertThrows(
+ () =>
+ Deno.serve({
+ handler: (_request) => new Response(),
+ port: 100000,
+ }),
+ RangeError,
+ `Invalid port (out of range): 100000`,
+ );
+});
+
+Deno.test({ permissions: { net: true } }, function invalidPortType() {
+ assertThrows(
+ () =>
+ Deno.serve({
+ handler: (_request) => new Response(),
+ port: true as unknown as number,
+ }),
+ TypeError,
+ `Invalid port (expected number): true`,
+ );
+});
+
function createUrlTest(
name: string,
methodAndPath: string,