summaryrefslogtreecommitdiff
path: root/tests/unit/worker_permissions_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/worker_permissions_test.ts')
-rw-r--r--tests/unit/worker_permissions_test.ts34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/unit/worker_permissions_test.ts b/tests/unit/worker_permissions_test.ts
new file mode 100644
index 000000000..28bf9f92a
--- /dev/null
+++ b/tests/unit/worker_permissions_test.ts
@@ -0,0 +1,34 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { assertEquals } from "./test_util.ts";
+
+Deno.test(
+ { permissions: { env: true, read: true } },
+ async function workerEnvArrayPermissions() {
+ const { promise, resolve } = Promise.withResolvers<boolean[]>();
+
+ const worker = new Worker(
+ import.meta.resolve(
+ "../testdata/workers/env_read_check_worker.js",
+ ),
+ { type: "module", deno: { permissions: { env: ["test", "OTHER"] } } },
+ );
+
+ worker.onmessage = ({ data }) => {
+ resolve(data.permissions);
+ };
+
+ worker.postMessage({
+ names: ["test", "TEST", "asdf", "OTHER"],
+ });
+
+ const permissions = await promise;
+ worker.terminate();
+
+ if (Deno.build.os === "windows") {
+ // windows ignores case
+ assertEquals(permissions, [true, true, false, true]);
+ } else {
+ assertEquals(permissions, [true, false, false, true]);
+ }
+ },
+);