// |reftest| skip-if(winWidget||!xulRuntime.shell||!this.hasOwnProperty("Intl"))
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(Date.UTC(2017, 2, 31, 12, 0, 0)).filter(x => x.type === "timeZoneName" )[0].value;
}
setTimeZone("Europe/Paris" );
assertEq(timeZoneName(), "Central European Summer Time" );
setTimeZone(":Europe/Helsinki" );
assertEq(timeZoneName(), "Eastern European Summer Time" );
setTimeZone("/zoneinfo/America/Chicago" );
assertEq(timeZoneName(), "Central Daylight Time" );
setTimeZone("/this-part-is-ignored/zoneinfo/America/Chicago" );
assertEq(timeZoneName(), "Central Daylight Time" );
setTimeZone(":/this-part-is-ignored/zoneinfo/America/Phoenix" );
assertEq(timeZoneName(), "Mountain Standard Time" );
const invalidTimeZones = [
// Non-existent timezone
"foo" ,
"/zoneinfo/foo" ,
"/zoneinfo/" ,
// Not capitalized
"america/chicago" ,
// No leading /
"zoneinfo/America/Chicago" ,
"foo/zoneinfo/America/Chicago" ,
":zoneinfo/America/Chicago" ,
":foo/zoneinfo/America/Chicago" ,
// Path without "/zoneinfo/"
"/foo/America/Chicago" ,
":/foo/America/Chicago" ,
// Two colons
"::Europe/London" ,
"::/zoneinfo/America/Los_Angeles" ,
"::/this-part-is-ignored/zoneinfo/America/Los_Angeles" ,
];
for (const invalid of invalidTimeZones) {
assertThrowsInstanceOf(() => setTimeZone(invalid), Error);
}
if (typeof reportCompare === "function" )
reportCompare(true , true );
Messung V0.5 C=85 H=86 G=85
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland