aboutsummaryrefslogtreecommitdiff
path: root/test/js/node/process/process.test.js
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-05-23 00:40:12 -0700
committerGravatar GitHub <noreply@github.com> 2023-05-23 00:40:12 -0700
commit5b38c55c3db018a94505f61cd785f0dd40f442ac (patch)
treeaf522e38ffa9b6c400c500c76de1fdca4ab931db /test/js/node/process/process.test.js
parent83e7b9e198b25c7af7905c5dcabe1e325c5a38fb (diff)
downloadbun-5b38c55c3db018a94505f61cd785f0dd40f442ac.tar.gz
bun-5b38c55c3db018a94505f61cd785f0dd40f442ac.tar.zst
bun-5b38c55c3db018a94505f61cd785f0dd40f442ac.zip
Support setting a timezone with `process.env.TZ` and `Bun.env.TZ` (#3018)
* Support setting a timezone via `process.env.TZ` * Implement `setTimeZone` in `bun:jsc` module * [breaking] `bun:test` now defaults to `Etc/UTC` timezone --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'test/js/node/process/process.test.js')
-rw-r--r--test/js/node/process/process.test.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/js/node/process/process.test.js b/test/js/node/process/process.test.js
index 414392a79..c9f92362c 100644
--- a/test/js/node/process/process.test.js
+++ b/test/js/node/process/process.test.js
@@ -98,6 +98,28 @@ it("process.env is spreadable and editable", () => {
expect(eval(`globalThis.process.env.USER = "${orig}"`)).toBe(orig);
});
+it("process.env.TZ", () => {
+ var origTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
+
+ // the default timezone is Etc/UTC
+ if (!"TZ" in process.env) {
+ expect(origTimezone).toBe("Etc/UTC");
+ }
+
+ const realOrigTimezone = origTimezone;
+ if (origTimezone === "America/Anchorage") {
+ origTimezone = "America/New_York";
+ }
+
+ const target = "America/Anchorage";
+ const tzKey = String("TZ" + " ").substring(0, 2);
+ process.env[tzKey] = target;
+ expect(process.env[tzKey]).toBe(target);
+ expect(Intl.DateTimeFormat().resolvedOptions().timeZone).toBe(target);
+ process.env[tzKey] = origTimezone;
+ expect(Intl.DateTimeFormat().resolvedOptions().timeZone).toBe(realOrigTimezone);
+});
+
it("process.version starts with v", () => {
expect(process.version.startsWith("v")).toBeTruthy();
});