diff options
Diffstat (limited to 'cli/js')
-rw-r--r-- | cli/js/unit_tests.ts | 6 | ||||
-rw-r--r-- | cli/js/workers_test.ts | 23 |
2 files changed, 27 insertions, 2 deletions
diff --git a/cli/js/unit_tests.ts b/cli/js/unit_tests.ts index c43abaa5c..0bdd17964 100644 --- a/cli/js/unit_tests.ts +++ b/cli/js/unit_tests.ts @@ -57,10 +57,14 @@ import "./url_search_params_test.ts"; import "./utime_test.ts"; import "./write_file_test.ts"; import "./performance_test.ts"; -import "./permissions_test.ts"; import "./version_test.ts"; import "./workers_test.ts"; +// FIXME(bartlomieju): +// This test file revokes permissions, it must be run last, +// otherwise it might revoke permission for tests that need them. +import "./permissions_test.ts"; + if (import.meta.main) { await Deno.runTests(); } 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; +}); |