tor-browser

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

constructor-compactDisplay-compact.js (1263B)


      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-initializenumberformat
      6 description: Checks handling of the compactDisplay option to the NumberFormat constructor.
      7 info: |
      8    InitializeNumberFormat ( numberFormat, locales, options )
      9 
     10    19. Let compactDisplay be ? GetOption(options, "compactDisplay", "string", « "short", "long" », "short").
     11    20. If notation is "compact", then
     12        a. Set numberFormat.[[CompactDisplay]] to compactDisplay.
     13 
     14 includes: [compareArray.js]
     15 features: [Intl.NumberFormat-unified]
     16 ---*/
     17 
     18 const values = [
     19  [undefined, "short"],
     20  ["short"],
     21  ["long"],
     22 ];
     23 
     24 for (const [value, expected = value] of values) {
     25  const callOrder = [];
     26  const nf = new Intl.NumberFormat([], {
     27    get notation() {
     28      callOrder.push("notation");
     29      return "compact";
     30    },
     31    get compactDisplay() {
     32      callOrder.push("compactDisplay");
     33      return value;
     34    }
     35  });
     36  const resolvedOptions = nf.resolvedOptions();
     37  assert.sameValue("compactDisplay" in resolvedOptions, true);
     38  assert.sameValue(resolvedOptions.compactDisplay, expected);
     39 
     40  assert.compareArray(callOrder, [
     41    "notation",
     42    "compactDisplay",
     43  ]);
     44 }
     45 
     46 reportCompare(0, 0);