tor-browser

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

constructor-options-timeStyle-valid.js (1271B)


      1 // Copyright 2019 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: >
      7    Checks handling of the options argument to the DateTimeFormat constructor.
      8 info: |
      9    CreateDateTimeFormat ( dateTimeFormat, locales, options, required, default )
     10 
     11    ...
     12    41. Let timeStyle be ? GetOption(options, "timeStyle", string, « "full", "long", "medium", "short" », undefined).
     13    42. Set dateTimeFormat.[[TimeStyle]] to timeStyle.
     14 features: [Intl.DateTimeFormat-datetimestyle]
     15 ---*/
     16 
     17 const validOptions = [
     18  [undefined, undefined],
     19  ["full", "full"],
     20  ["long", "long"],
     21  ["medium", "medium"],
     22  ["short", "short"],
     23  [{ toString() { return "full"; } }, "full"],
     24  [{ valueOf() { return "long"; }, toString: undefined }, "long"],
     25 ];
     26 for (const [timeStyle, expected] of validOptions) {
     27  const dtf = new Intl.DateTimeFormat("en", { timeStyle });
     28  const options = dtf.resolvedOptions();
     29  assert.sameValue(options.timeStyle, expected);
     30  const propdesc = Object.getOwnPropertyDescriptor(options, "timeStyle");
     31  if (expected === undefined) {
     32    assert.sameValue(propdesc, undefined);
     33  } else {
     34    assert.sameValue(propdesc.value, expected);
     35  }
     36 }
     37 
     38 reportCompare(0, 0);