aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/js/bun/util/bun-isMainThread.test.js15
-rw-r--r--test/js/bun/util/main-worker-file.js14
2 files changed, 29 insertions, 0 deletions
diff --git a/test/js/bun/util/bun-isMainThread.test.js b/test/js/bun/util/bun-isMainThread.test.js
new file mode 100644
index 000000000..87f74d136
--- /dev/null
+++ b/test/js/bun/util/bun-isMainThread.test.js
@@ -0,0 +1,15 @@
+import { test, expect } from "bun:test";
+import { bunEnv, bunExe } from "harness";
+
+test("Bun.isMainThread", () => {
+ expect(Bun.isMainThread).toBeTrue();
+
+ const { stdout, exitCode } = Bun.spawnSync({
+ cmd: [bunExe(), import.meta.resolveSync("./main-worker-file.js")],
+ stderr: "inherit",
+ stdout: "pipe",
+ env: bunEnv,
+ });
+ expect(exitCode).toBe(0);
+ expect(stdout.toString()).toBe("isMainThread true\nisMainThread false\n");
+});
diff --git a/test/js/bun/util/main-worker-file.js b/test/js/bun/util/main-worker-file.js
new file mode 100644
index 000000000..376480397
--- /dev/null
+++ b/test/js/bun/util/main-worker-file.js
@@ -0,0 +1,14 @@
+import { isMainThread } from "bun";
+
+console.log("isMainThread", isMainThread);
+
+if (isMainThread) {
+ const worker = new Worker(import.meta.url);
+ const { promise, resolve } = Promise.withResolvers();
+
+ worker.addEventListener("open", () => {
+ resolve();
+ });
+
+ await promise;
+}