aboutsummaryrefslogtreecommitdiff
path: root/test/bun.js/process-args.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/bun.js/process-args.test.js')
-rw-r--r--test/bun.js/process-args.test.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/test/bun.js/process-args.test.js b/test/bun.js/process-args.test.js
new file mode 100644
index 000000000..6bdfbf9e0
--- /dev/null
+++ b/test/bun.js/process-args.test.js
@@ -0,0 +1,33 @@
+
+import { spawn } from "bun";
+import { test, expect } from "bun:test";
+
+test("args exclude run", async () => {
+ const arg0 = process.argv[0];
+ const arg1 = import.meta.dir + '/print-process-args.js';
+
+ const exe = process.versions.bun.includes("debug") ? "bun-debug" : "bun";
+
+ const { stdout: s1 } = spawn([exe, "print-process-args.js"], { cwd: import.meta.dir });
+ const t1 = JSON.parse(await new Response(s1).text());
+ expect(t1[0]).toBe(arg0);
+ expect(t1[1]).toBe(arg1);
+
+ const { stdout: s2 } = spawn([exe, "print-process-args.js", "arg1"], { cwd: import.meta.dir });
+ const t2 = JSON.parse(await new Response(s2).text());
+ expect(t2[0]).toBe(arg0);
+ expect(t2[1]).toBe(arg1);
+ expect(t2[2]).toBe("arg1");
+
+ const { stdout: s3 } = spawn([exe, "run", "print-process-args.js"], { cwd: import.meta.dir });
+ const t3 = JSON.parse(await new Response(s3).text());
+ expect(t3[0]).toBe(arg0);
+ expect(t3[1]).toBe(arg1);
+
+ const { stdout: s4 } = spawn([exe, "run", "print-process-args.js", "arg1", "arg2"], { cwd: import.meta.dir });
+ const t4 = JSON.parse(await new Response(s4).text());
+ expect(t4[0]).toBe(arg0);
+ expect(t4[1]).toBe(arg1);
+ expect(t4[2]).toBe("arg1");
+ expect(t4[3]).toBe("arg2");
+}); \ No newline at end of file