aboutsummaryrefslogtreecommitdiff
path: root/integration/bunjs-only-snippets/process.js
diff options
context:
space:
mode:
Diffstat (limited to 'integration/bunjs-only-snippets/process.js')
-rw-r--r--integration/bunjs-only-snippets/process.js48
1 files changed, 48 insertions, 0 deletions
diff --git a/integration/bunjs-only-snippets/process.js b/integration/bunjs-only-snippets/process.js
new file mode 100644
index 000000000..486d20f46
--- /dev/null
+++ b/integration/bunjs-only-snippets/process.js
@@ -0,0 +1,48 @@
+// this property isn't implemented yet but it should at least return a string
+const isNode = !process.isBun;
+
+if (!isNode && process.title !== "bun")
+ throw new Error("process.title is not 'bun'");
+
+if (typeof process.env.USER !== "string")
+ throw new Error("process.env is not an object");
+
+if (process.env.USER.length === 0)
+ throw new Error("process.env is missing a USER property");
+
+if (process.platform !== "darwin" && process.platform !== "linux")
+ throw new Error("process.platform is invalid");
+
+if (isNode) throw new Error("process.isBun is invalid");
+
+// partially to test it doesn't crash due to various strange types
+process.env.BACON = "yummy";
+if (process.env.BACON !== "yummy") {
+ throw new Error("process.env is not writable");
+}
+
+delete process.env.BACON;
+if (typeof process.env.BACON !== "undefined") {
+ throw new Error("process.env is not deletable");
+}
+
+process.env.BACON = "yummy";
+if (process.env.BACON !== "yummy") {
+ throw new Error("process.env is not re-writable");
+}
+
+if (JSON.parse(JSON.stringify(process.env)).BACON !== "yummy") {
+ throw new Error("process.env is not serializable");
+}
+
+if (typeof JSON.parse(JSON.stringify(process.env)).toJSON !== "undefined") {
+ throw new Error("process.env should call toJSON to hide its internal state");
+}
+
+var { env, ...proces } = process;
+console.log(JSON.stringify(proces, null, 2));
+console.log(proces);
+
+console.log("CWD", process.cwd());
+console.log("SET CWD", process.chdir("../"));
+console.log("CWD", process.cwd());