diff options
Diffstat (limited to 'js/src/tests/test262/intl402/NumberFormat/prototype/resolvedOptions/order.js')
-rw-r--r-- | js/src/tests/test262/intl402/NumberFormat/prototype/resolvedOptions/order.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/js/src/tests/test262/intl402/NumberFormat/prototype/resolvedOptions/order.js b/js/src/tests/test262/intl402/NumberFormat/prototype/resolvedOptions/order.js new file mode 100644 index 0000000000..16f35fb743 --- /dev/null +++ b/js/src/tests/test262/intl402/NumberFormat/prototype/resolvedOptions/order.js @@ -0,0 +1,43 @@ +// Copyright 2018 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-intl.numberformat.prototype.resolvedoptions +description: Verifies the property order for the object returned by resolvedOptions(). +features: [Intl.NumberFormat-unified] +---*/ + +const options = new Intl.NumberFormat([], { + "style": "currency", + "currency": "EUR", + "currencyDisplay": "symbol", + "minimumSignificantDigits": 1, + "maximumSignificantDigits": 2, +}).resolvedOptions(); + +const expected = [ + "locale", + "numberingSystem", + "style", + "currency", + "currencyDisplay", + "currencySign", + "minimumIntegerDigits", + "minimumSignificantDigits", + "maximumSignificantDigits", + "useGrouping", + "notation", + "signDisplay", +]; + +const actual = Object.getOwnPropertyNames(options); + +// Ensure all expected items are in actual and also allow other properties +// implemented in new proposals. +assert(actual.indexOf("locale") > -1, "\"locale\" is present"); +for (var i = 1; i < expected.length; i++) { + // Ensure the order as expected but allow additional new property in between + assert(actual.indexOf(expected[i-1]) < actual.indexOf(expected[i]), `"${expected[i-1]}" precedes "${expected[i]}"`); +} + +reportCompare(0, 0); |