js/src/tests/test262/intl402/ch06/6.4/6.4_c.js

Wed, 31 Dec 2014 13:27:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 13:27:57 +0100
branch
TOR_BUG_3246
changeset 6
8bccb770b82d
permissions
-rw-r--r--

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 });

mercurial