summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Date/time-zone-etc_localetime.js
blob: eaf8f7d9404a867fb73f7743e39ffb09392b7845 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// |reftest| skip-if(xulRuntime.OS=="WINNT"||!xulRuntime.shell)

assertEq(/^(PST|PDT)$/.test(getTimeZone()), true,
         "The default time zone is set to PST8PDT for all jstests (when run in the shell)");

function timeZoneName() {
    var dtf = new Intl.DateTimeFormat("en-US", {timeZoneName: "long"});
    return dtf.formatToParts().filter(x => x.type === "timeZoneName")[0].value;
}

// Calling setTimeZone() with an undefined argument clears the TZ environment
// variable and by that reveal the actual system time zone.
setTimeZone(undefined);
var systemTimeZone = getTimeZone();
var systemTimeZoneName = timeZoneName();

// Set to an unlikely system time zone, so that the next call to setTimeZone()
// will lead to a time zone change.
setTimeZone("Antarctica/Troll");

// Now call with the file path ":/etc/localtime" which is special-cased in
// DateTimeInfo to read the system time zone.
setTimeZone(":/etc/localtime");

assertEq(getTimeZone(), systemTimeZone);
assertEq(timeZoneName(), systemTimeZoneName);

if (typeof reportCompare === "function")
    reportCompare(true, true);