diff options
Diffstat (limited to 'js/src/tests/test262/intl402/DurationFormat/constructor-options-style-valid.js')
-rw-r--r-- | js/src/tests/test262/intl402/DurationFormat/constructor-options-style-valid.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/js/src/tests/test262/intl402/DurationFormat/constructor-options-style-valid.js b/js/src/tests/test262/intl402/DurationFormat/constructor-options-style-valid.js new file mode 100644 index 0000000000..03ebfe4d2d --- /dev/null +++ b/js/src/tests/test262/intl402/DurationFormat/constructor-options-style-valid.js @@ -0,0 +1,34 @@ +// |reftest| skip -- Intl.DurationFormat is not supported +// Copyright 2022 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-Intl.DurationFormat +description: Checks handling of valid values for the style option to the DurationFormat constructor. +info: | + InitializeDurationFormat (DurationFormat, locales, options) + (...) + 13. Let style be ? GetOption(options, "style", "string", « "long", "short", "narrow", "digital" », "short"). + 14. Set durationFormat.[[Style]] to style. +features: [Intl.DurationFormat] +---*/ + +const validOptions = [ + [undefined, "short"], + ["long", "long"], + ["short", "short"], + ["narrow", "narrow"], + ["digital", "digital"], + [{ toString() { return "short"; } }, "short"], + [{ toString() { return "long"; } }, "long"], + [{ toString() { return "narrow"; } }, "narrow"], + [{ toString() { return "digital"; } }, "digital"], +]; + +for (const [validOption, expected] of validOptions) { + const df = new Intl.DurationFormat([], {"style": validOption}); + const resolvedOptions = df.resolvedOptions(); + assert.sameValue(resolvedOptions.style, expected); +} + +reportCompare(0, 0); |