diff options
Diffstat (limited to 'js/src/tests/test262/intl402/NumberFormat/currencyDisplay-unit.js')
-rw-r--r-- | js/src/tests/test262/intl402/NumberFormat/currencyDisplay-unit.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/js/src/tests/test262/intl402/NumberFormat/currencyDisplay-unit.js b/js/src/tests/test262/intl402/NumberFormat/currencyDisplay-unit.js new file mode 100644 index 0000000000..bc760e490c --- /dev/null +++ b/js/src/tests/test262/intl402/NumberFormat/currencyDisplay-unit.js @@ -0,0 +1,42 @@ +// Copyright 2018 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-setnumberformatunitoptions +description: Checks handling of valid values for the numeric option to the NumberFormat constructor. +info: | + SetNumberFormatUnitOptions ( intlObj, options ) + + 6. Let currencyDisplay be ? GetOption(options, "currencyDisplay", "string", « "code", "symbol", "narrowSymbol", "name" », "symbol"). + 11. If style is "currency", then + f. Set intlObj.[[CurrencyDisplay]] to currencyDisplay. + +features: [Intl.NumberFormat-unified] +---*/ + +const validOptions = [ + [undefined, "symbol"], + ["narrowSymbol", "narrowSymbol"], + [{ toString() { return "narrowSymbol"; } }, "narrowSymbol"], +]; + +for (const [validOption, expected] of validOptions) { + const nf = new Intl.NumberFormat([], { + "style": "currency", + "currency": "EUR", + "currencyDisplay": validOption, + }); + const resolvedOptions = nf.resolvedOptions(); + assert.sameValue(resolvedOptions.currencyDisplay, expected); +} + +for (const [validOption] of validOptions) { + const nf = new Intl.NumberFormat([], { + "style": "percent", + "currencyDisplay": validOption, + }); + const resolvedOptions = nf.resolvedOptions(); + assert.sameValue(resolvedOptions.currencyDisplay, undefined); +} + +reportCompare(0, 0); |