summaryrefslogtreecommitdiff
path: root/cli/tests/unit/worker_permissions_test.ts
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2021-09-30 15:50:59 -0400
committerGitHub <noreply@github.com>2021-09-30 15:50:59 -0400
commitc3e441c5b54de09ca3af3e1fd0098e8d307c18d7 (patch)
treedf7a71df21e94df22af9615829f2003f904d2e69 /cli/tests/unit/worker_permissions_test.ts
parentcdac1905831df1b2f6fbf863bfd6d884dbe2c0e3 (diff)
fix: worker environment permissions should accept an array (#12250)
Diffstat (limited to 'cli/tests/unit/worker_permissions_test.ts')
-rw-r--r--cli/tests/unit/worker_permissions_test.ts43
1 files changed, 43 insertions, 0 deletions
diff --git a/cli/tests/unit/worker_permissions_test.ts b/cli/tests/unit/worker_permissions_test.ts
new file mode 100644
index 000000000..35cb2d04d
--- /dev/null
+++ b/cli/tests/unit/worker_permissions_test.ts
@@ -0,0 +1,43 @@
+// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
+import { assertEquals, deferred, unitTest } from "./test_util.ts";
+
+unitTest(
+ { permissions: { env: true, read: true } },
+ async function workerEnvArrayPermissions() {
+ const promise = deferred<boolean[]>();
+
+ const worker = new Worker(
+ new URL(
+ "../testdata/workers/env_read_check_worker.js",
+ import.meta.url,
+ ).href,
+ {
+ type: "module",
+ deno: {
+ namespace: true,
+ permissions: {
+ env: ["test", "OTHER"],
+ },
+ },
+ },
+ );
+
+ worker.onmessage = ({ data }) => {
+ promise.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]);
+ }
+ },
+);