From a71c1288a6a3a90bc1f1ec76cf33e5f8f63ca84e Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Thu, 24 Feb 2022 01:46:02 -0800 Subject: Ensure we run the process test --- integration/bunjs-only-snippets/process.test.js | 54 +++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 integration/bunjs-only-snippets/process.test.js (limited to 'integration/bunjs-only-snippets/process.test.js') diff --git a/integration/bunjs-only-snippets/process.test.js b/integration/bunjs-only-snippets/process.test.js new file mode 100644 index 000000000..f82834a04 --- /dev/null +++ b/integration/bunjs-only-snippets/process.test.js @@ -0,0 +1,54 @@ +import { describe, it } from "bun:test"; + +it("process", () => { + // 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()); +}); -- cgit v1.2.3