diff options
Diffstat (limited to 'cli/tests')
-rw-r--r-- | cli/tests/workers/http_worker.js | 10 | ||||
-rw-r--r-- | cli/tests/workers/test.ts | 24 |
2 files changed, 34 insertions, 0 deletions
diff --git a/cli/tests/workers/http_worker.js b/cli/tests/workers/http_worker.js new file mode 100644 index 000000000..ee2e5397e --- /dev/null +++ b/cli/tests/workers/http_worker.js @@ -0,0 +1,10 @@ +// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license. +const listener = Deno.listen({ hostname: "127.0.0.1", port: 4500 }); +for await (const conn of listener) { + (async () => { + const requests = Deno.serveHttp(conn); + for await (const { respondWith } of requests) { + respondWith(new Response("Hello world")); + } + })(); +} diff --git a/cli/tests/workers/test.ts b/cli/tests/workers/test.ts index e5e9e44f7..72b87e398 100644 --- a/cli/tests/workers/test.ts +++ b/cli/tests/workers/test.ts @@ -697,3 +697,27 @@ Deno.test({ worker.terminate(); }, }); + +Deno.test({ + name: "Worker with native HTTP", + fn: async function () { + const worker = new Worker( + new URL( + "./http_worker.js", + import.meta.url, + ).href, + { + type: "module", + deno: { + namespace: true, + permissions: "inherit", + }, + }, + ); + + assert(worker); + const response = await fetch("http://localhost:4500"); + assert(await response.arrayBuffer()); + worker.terminate(); + }, +}); |