summaryrefslogtreecommitdiff
path: root/cli/tests/unit/worker_permissions_test.ts
blob: 91696fa2c6fdd2df68abb352b5803581deb479ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
import { assertEquals, deferred } from "./test_util.ts";

Deno.test(
  { permissions: { env: true, read: true } },
  async function workerEnvArrayPermissions() {
    const promise = deferred<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 }) => {
      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]);
    }
  },
);