Wed, 31 Dec 2014 13:27:57 +0100
Ignore runtime configuration files generated during quality assurance.
1 // Copyright 2012 Mozilla Corporation. All rights reserved.
2 // This code is governed by the BSD license found in the LICENSE file.
4 /**
5 * @description Tests that additional time zone names, if accepted, are handled correctly.
6 * @author Norbert Lindenberg
7 */
9 // canonicalization specified in conformance clause
10 var additionalTimeZoneNames = {
11 "Etc/GMT": "UTC",
12 "Greenwich": "UTC",
13 "PRC": "Asia/Shanghai",
14 "AmErIcA/LoS_aNgElEs": "America/Los_Angeles",
15 "etc/gmt+7": "Etc/GMT+7"
16 };
18 Object.getOwnPropertyNames(additionalTimeZoneNames).forEach(function (name) {
19 var format, error;
20 try {
21 format = new Intl.DateTimeFormat([], {timeZone: name});
22 } catch (e) {
23 error = e;
24 }
25 if (error === undefined) {
26 var actual = format.resolvedOptions().timeZone;
27 var expected = additionalTimeZoneNames[name];
28 if (actual !== expected) {
29 $ERROR("Time zone name " + name + " was accepted, but incorrectly canonicalized to " +
30 actual + "; expected " + expected + ".");
31 }
32 } else if (error.name !== "RangeError") {
33 $ERROR("Time zone name " + name + " was rejected with wrong error " + error.name + ".");
34 }
35 });