tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

constructor-options-order.js (1857B)


      1 // Copyright 2018 Igalia, S.L. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 esid: sec-createdatetimeformat
      6 description: Checks the order of getting options for the DateTimeFormat constructor.
      7 includes: [compareArray.js]
      8 ---*/
      9 
     10 const expected = [
     11  // CreateDateTimeFormat step 4.
     12  "localeMatcher",
     13  // CreateDateTimeFormat step 12.
     14  "hour12",
     15  // CreateDateTimeFormat step 13.
     16  "hourCycle",
     17  // CreateDateTimeFormat step 29.
     18  "timeZone",
     19  // CreateDateTimeFormat step 36.
     20  "weekday",
     21  "era",
     22  "year",
     23  "month",
     24  "day",
     25  "hour",
     26  "minute",
     27  "second",
     28  "timeZoneName",
     29  // CreateDateTimeFormat step 37.
     30  "formatMatcher",
     31 ];
     32 
     33 const actual = [];
     34 
     35 const options = {
     36  get day() {
     37    actual.push("day");
     38    return "numeric";
     39  },
     40 
     41  get era() {
     42    actual.push("era");
     43    return "long";
     44  },
     45 
     46  get formatMatcher() {
     47    actual.push("formatMatcher");
     48    return "best fit";
     49  },
     50 
     51  get hour() {
     52    actual.push("hour");
     53    return "numeric";
     54  },
     55 
     56  get hour12() {
     57    actual.push("hour12");
     58    return true;
     59  },
     60 
     61  get hourCycle() {
     62    actual.push("hourCycle");
     63    return "h24";
     64  },
     65 
     66  get localeMatcher() {
     67    actual.push("localeMatcher");
     68    return "best fit";
     69  },
     70 
     71  get minute() {
     72    actual.push("minute");
     73    return "numeric";
     74  },
     75 
     76  get month() {
     77    actual.push("month");
     78    return "numeric";
     79  },
     80 
     81  get second() {
     82    actual.push("second");
     83    return "numeric";
     84  },
     85 
     86  get timeZone() {
     87    actual.push("timeZone");
     88    return "UTC";
     89  },
     90 
     91  get timeZoneName() {
     92    actual.push("timeZoneName");
     93    return "long";
     94  },
     95 
     96  get weekday() {
     97    actual.push("weekday");
     98    return "long";
     99  },
    100 
    101  get year() {
    102    actual.push("year");
    103    return "numeric";
    104  },
    105 };
    106 
    107 new Intl.DateTimeFormat("en", options);
    108 
    109 assert.compareArray(actual, expected);
    110 
    111 reportCompare(0, 0);