aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2023-07-27 22:28:28 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2023-07-27 22:28:28 -0700
commit70b9bf743c21484b35918bb07ff2423f77207d2e (patch)
tree0328c61468c339bdcdb008f78ca1e887b330be1b /test
parentf3153fbee9246c1a39e2eaafe115e104d78d8c64 (diff)
downloadbun-70b9bf743c21484b35918bb07ff2423f77207d2e.tar.gz
bun-70b9bf743c21484b35918bb07ff2423f77207d2e.tar.zst
bun-70b9bf743c21484b35918bb07ff2423f77207d2e.zip
Add `Bun.isMainThread`
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;
+}