tor-browser

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

era.js (6055B)


      1 // |reftest| skip-if(!this.hasOwnProperty("Intl"))
      2 
      3 const {
      4  Era, Year, Month, Day, Literal
      5 } = DateTimeFormatParts;
      6 
      7 const tests = {
      8  "en": [
      9    {
     10      options: {
     11        day: "numeric",
     12        month: "numeric",
     13        year: "numeric",
     14        era: "short",
     15        timeZone: "UTC",
     16      },
     17      dates: [
     18        {
     19          date: new Date("1970-01-01T00:00:00.000Z"),
     20          parts: [
     21            Month("1"), Literal("/"), Day("1"), Literal("/"), Year("1970"), Literal(" "), Era("AD")
     22          ],
     23        },
     24        {
     25          date: new Date("-001970-01-01T00:00:00.000Z"),
     26          parts: [
     27            Month("1"), Literal("/"), Day("1"), Literal("/"), Year("1971"), Literal(" "), Era("BC")
     28          ],
     29        },
     30      ],
     31    },
     32  ],
     33  "en-001": [
     34    {
     35      options: {
     36        day: "numeric",
     37        month: "numeric",
     38        year: "numeric",
     39        era: "short",
     40        timeZone: "UTC",
     41      },
     42      dates: [
     43        {
     44          date: new Date("1970-01-01T00:00:00.000Z"),
     45          parts: [
     46            Day("01"), Literal("/"), Month("01"), Literal("/"), Year("1970"), Literal(" "), Era("AD")
     47          ],
     48        },
     49        {
     50          date: new Date("-001970-01-01T00:00:00.000Z"),
     51          parts: [
     52            Day("01"), Literal("/"), Month("01"), Literal("/"), Year("1971"), Literal(" "), Era("BC")
     53          ],
     54        },
     55      ],
     56    },
     57  ],
     58  "de": [
     59    {
     60      options: {
     61        day: "numeric",
     62        month: "numeric",
     63        year: "numeric",
     64        era: "short",
     65        timeZone: "UTC",
     66      },
     67      dates: [
     68        {
     69          date: new Date("1970-01-01T00:00:00.000Z"),
     70          parts: [
     71            Day("01"), Literal("."), Month("01"), Literal("."), Year("1970"), Literal(" "), Era("n. Chr.")
     72          ],
     73        },
     74        {
     75          date: new Date("-001970-01-01T00:00:00.000Z"),
     76          parts: [
     77            Day("01"), Literal("."), Month("01"), Literal("."), Year("1971"), Literal(" "), Era("v. Chr.")
     78          ],
     79        },
     80      ],
     81    },
     82  ],
     83  "fr": [
     84    {
     85      options: {
     86        day: "numeric",
     87        month: "numeric",
     88        year: "numeric",
     89        era: "short",
     90        timeZone: "UTC",
     91      },
     92      dates: [
     93        {
     94          date: new Date("1970-01-01T00:00:00.000Z"),
     95          parts: [
     96            Day("01"), Literal("/"), Month("01"), Literal("/"), Year("1970"), Literal(" "), Era("ap. J.-C.")
     97          ],
     98        },
     99        {
    100          date: new Date("-001970-01-01T00:00:00.000Z"),
    101          parts: [
    102            Day("01"), Literal("/"), Month("01"), Literal("/"), Year("1971"), Literal(" "), Era("av. J.-C.")
    103          ],
    104        },
    105      ],
    106    },
    107  ],
    108  "es": [
    109    {
    110      options: {
    111        day: "numeric",
    112        month: "numeric",
    113        year: "numeric",
    114        era: "short",
    115        timeZone: "UTC",
    116      },
    117      dates: [
    118        {
    119          date: new Date("1970-01-01T00:00:00.000Z"),
    120          parts: [
    121            Day("1"), Literal("/"), Month("1"), Literal("/"), Year("1970"), Literal(" "), Era("d. C.")
    122          ],
    123        },
    124        {
    125          date: new Date("-001970-01-01T00:00:00.000Z"),
    126          parts: [
    127            Day("1"), Literal("/"), Month("1"), Literal("/"), Year("1971"), Literal(" "), Era("a. C.")
    128          ],
    129        },
    130      ],
    131    },
    132  ],
    133  "nl": [
    134    {
    135      options: {
    136        day: "numeric",
    137        month: "numeric",
    138        year: "numeric",
    139        era: "short",
    140        timeZone: "UTC",
    141      },
    142      dates: [
    143        {
    144          date: new Date("1970-01-01T00:00:00.000Z"),
    145          parts: [
    146            Day("1"), Literal("/"), Month("1"), Literal("/"), Year("1970"), Literal(" "), Era("n.Chr.")
    147          ],
    148        },
    149        {
    150          date: new Date("-001970-01-01T00:00:00.000Z"),
    151          parts: [
    152            Day("1"), Literal("/"), Month("1"), Literal("/"), Year("1971"), Literal(" "), Era("v.Chr.")
    153          ],
    154        },
    155      ],
    156    },
    157  ],
    158  "ja": [
    159    {
    160      options: {
    161        day: "numeric",
    162        month: "numeric",
    163        year: "numeric",
    164        era: "short",
    165        timeZone: "UTC",
    166      },
    167      dates: [
    168        {
    169          date: new Date("1970-01-01T00:00:00.000Z"),
    170          parts: [
    171            Era("西暦"), Year("1970"), Literal("/"), Month("1"), Literal("/"), Day("1")
    172          ],
    173        },
    174        {
    175          date: new Date("-001970-01-01T00:00:00.000Z"),
    176          parts: [
    177            Era("紀元前"), Year("1971"), Literal("/"), Month("1"), Literal("/"), Day("1")
    178          ],
    179        },
    180      ],
    181    },
    182  ],
    183  "zh": [
    184    {
    185      options: {
    186        day: "numeric",
    187        month: "numeric",
    188        year: "numeric",
    189        era: "short",
    190        timeZone: "UTC",
    191      },
    192      dates: [
    193        {
    194          date: new Date("1970-01-01T00:00:00.000Z"),
    195          parts: [
    196            Era("公元"), Year("1970"), Literal("-"), Month("01"), Literal("-"), Day("01")
    197          ],
    198        },
    199        {
    200          date: new Date("-001970-01-01T00:00:00.000Z"),
    201          parts: [
    202            Era("公元前"), Year("1971"), Literal("-"), Month("01"), Literal("-"), Day("01")
    203          ],
    204        },
    205      ],
    206    },
    207  ],
    208  "ar-EG": [
    209    {
    210      options: {
    211        day: "numeric",
    212        month: "numeric",
    213        year: "numeric",
    214        era: "short",
    215        timeZone: "UTC",
    216      },
    217      dates: [
    218        {
    219          date: new Date("1970-01-01T00:00:00.000Z"),
    220          parts: [
    221            Day("٠١"), Literal("-"), Month("٠١"), Literal("-"), Year("١٩٧٠"), Literal(" "), Era("م")
    222          ],
    223        },
    224        {
    225          date: new Date("-001970-01-01T00:00:00.000Z"),
    226          parts: [
    227            Day("٠١"), Literal("-"), Month("٠١"), Literal("-"), Year("١٩٧١"), Literal(" "), Era("ق.م")
    228          ],
    229        },
    230      ],
    231    },
    232  ],
    233 };
    234 
    235 for (let [locale, inputs] of Object.entries(tests)) {
    236  for (let {options, dates} of inputs) {
    237    let dtf = new Intl.DateTimeFormat(locale, options);
    238    for (let {date, parts} of dates) {
    239      assertParts(dtf, date, parts);
    240     }
    241  }
    242 }
    243 
    244 if (typeof reportCompare === "function")
    245    reportCompare(0, 0, "ok");