tor-browser

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

date.js (1529B)


      1 // |reftest| skip-if(!this.hasOwnProperty("Temporal")||!this.hasOwnProperty("Intl"))
      2 
      3 // Test Temporal types which can produce date formats.
      4 
      5 const locales = [
      6  "en",
      7  "de",
      8  "fr",
      9  "es",
     10  "ar",
     11  "th",
     12  "zh",
     13  "ja",
     14 ];
     15 
     16 const options = [
     17  {
     18    weekday: "long",
     19    year: "numeric",
     20    month: "long",
     21    day: "numeric",
     22  },
     23  {
     24    year: "numeric",
     25    month: "short",
     26    day: "numeric",
     27  },
     28  {
     29    year: "2-digit",
     30    month: "narrow",
     31  },
     32  {
     33    month: "2-digit",
     34    day: "2-digit",
     35  },
     36 
     37  {
     38    era: "long",
     39    year: "numeric",
     40  },
     41  {
     42    era: "short",
     43    year: "numeric",
     44    month: "numeric",
     45  },
     46 ];
     47 
     48 const timeZone = "UTC";
     49 
     50 let date = new Date(0);
     51 let instant = date.toTemporalInstant();
     52 let zonedDateTime = instant.toZonedDateTimeISO(timeZone);
     53 let plainDateTime = zonedDateTime.toPlainDateTime();
     54 let plainDate = zonedDateTime.toPlainDate();
     55 
     56 for (let locale of locales) {
     57  let expected = date.toLocaleDateString(locale, {timeZone});
     58  assertEq(plainDate.toLocaleString(locale, {timeZone}), expected);
     59 
     60  for (let opts of options) {
     61    let expected = date.toLocaleDateString(locale, {timeZone, ...opts});
     62    assertEq(instant.toLocaleString(locale, {timeZone, ...opts}), expected);
     63    assertEq(zonedDateTime.toLocaleString(locale, {...opts}), expected);
     64    assertEq(plainDateTime.toLocaleString(locale, {timeZone, ...opts}), expected);
     65    assertEq(plainDate.toLocaleString(locale, {timeZone, ...opts}), expected);
     66  }
     67 }
     68 
     69 if (typeof reportCompare === "function")
     70  reportCompare(true, true);