summaryrefslogtreecommitdiff
path: root/cli/js/workers_test.ts
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2020-02-21 10:35:41 -0500
committerGitHub <noreply@github.com>2020-02-21 10:35:41 -0500
commitd9efb8c02a0036d755c35e8e9c88d58bd45a9e2b (patch)
tree2ebce022c1c8b286cfb31845f145d8249f7b395e /cli/js/workers_test.ts
parent6dd964384509e71598d08ae09c59f5f2c035a135 (diff)
fix: add io ops to worker to fix fetch (#4054)
Diffstat (limited to 'cli/js/workers_test.ts')
-rw-r--r--cli/js/workers_test.ts23
1 files changed, 22 insertions, 1 deletions
diff --git a/cli/js/workers_test.ts b/cli/js/workers_test.ts
index 9cb4f4a07..eccf83f65 100644
--- a/cli/js/workers_test.ts
+++ b/cli/js/workers_test.ts
@@ -1,5 +1,5 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
-import { test, assert, assertEquals } from "./test_util.ts";
+import { test, testPerm, assert, assertEquals } from "./test_util.ts";
export interface ResolvableMethods<T> {
resolve: (value?: T | PromiseLike<T>) => void;
@@ -82,3 +82,24 @@ test(async function workerThrowsWhenExecuting(): Promise<void> {
await promise;
});
+
+testPerm({ net: true }, async function workerCanUseFetch(): Promise<void> {
+ const promise = createResolvable();
+
+ const fetchingWorker = new Worker("../tests/subdir/fetching_worker.js", {
+ type: "module"
+ });
+
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ fetchingWorker.onerror = (e: any): void => {
+ e.preventDefault();
+ promise.reject(e.message);
+ };
+
+ fetchingWorker.onmessage = (e): void => {
+ assert(e.data === "Done!");
+ promise.resolve();
+ };
+
+ await promise;
+});