// Copyright 2019 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Similar to constructor-order.js but also consider the new options // in https://tc39-transfer.github.io/proposal-unified-intl-numberformat/ // Throws only once during construction. // Check for all getters to prevent regression. // Preserve the order of getter initialization. let getCount = 0; new Intl.NumberFormat(['en-US'], { get localeMatcher() { assertEquals(0, getCount++); }, get style() { assertEquals(1, getCount++); }, get currency() { assertEquals(2, getCount++); }, get currencyDisplay() { assertEquals(3, getCount++); }, // Begin of new options get currencySign() { assertEquals(4, getCount++); }, get unit() { assertEquals(5, getCount++); }, get unitDisplay() { assertEquals(6, getCount++); }, get notation() { assertEquals(7, getCount++); }, // End of new options get minimumIntegerDigits() { assertEquals(8, getCount++); }, get minimumFractionDigits() { assertEquals(9, getCount++); }, get maximumFractionDigits() { assertEquals(10, getCount++); }, get minimumSignificantDigits() { assertEquals(11, getCount++); }, get maximumSignificantDigits() { assertEquals(12, getCount++); }, // Begin of new options get compactDisplay() { assertEquals(13, getCount++); }, // End of new options get useGrouping() { assertEquals(14, getCount++); }, // Begin of new options get signDisplay() { assertEquals(15, getCount++); }, // End of new options }); assertEquals(16, getCount);