aboutsummaryrefslogtreecommitdiff
path: root/test/js/node/disabled-module.test.js
blob: d02a6b6df06d021de1258cf4b05f50281235d211 (plain) (blame)
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
35
36
37
38
import { expect, test } from "bun:test";

test("not implemented yet module masquerades as undefined and throws an error", () => {
  const worker_threads = import.meta.require("worker_threads");

  expect(typeof worker_threads).toBe("undefined");
  expect(typeof worker_threads.getEnvironmentData).toBe("undefined");
});

test("AsyncLocalStorage polyfill", () => {
  const { AsyncLocalStorage } = import.meta.require("async_hooks");

  const store = new AsyncLocalStorage();
  var called = false;
  expect(store.getStore()).toBe(null);
  store.run({ foo: "bar" }, () => {
    expect(store.getStore()).toEqual({ foo: "bar" });
    called = true;
  });
  expect(store.getStore()).toBe(null);
  expect(called).toBe(true);
});

test("AsyncResource polyfill", () => {
  const { AsyncResource } = import.meta.require("async_hooks");

  const resource = new AsyncResource("prisma-client-request");
  var called = false;
  resource.runInAsyncScope(
    () => {
      called = true;
    },
    null,
    "foo",
    "bar",
  );
  expect(called).toBe(true);
});