diff options
Diffstat (limited to 'tests/unit/worker_permissions_test.ts')
-rw-r--r-- | tests/unit/worker_permissions_test.ts | 34 |
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]); + } + }, +); |