diff options
Diffstat (limited to 'js/src/tests/test262/intl402/Locale/constructor-options-hourcycle-invalid.js')
-rw-r--r-- | js/src/tests/test262/intl402/Locale/constructor-options-hourcycle-invalid.js | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/js/src/tests/test262/intl402/Locale/constructor-options-hourcycle-invalid.js b/js/src/tests/test262/intl402/Locale/constructor-options-hourcycle-invalid.js new file mode 100644 index 0000000000..a266bbb7b1 --- /dev/null +++ b/js/src/tests/test262/intl402/Locale/constructor-options-hourcycle-invalid.js @@ -0,0 +1,45 @@ +// Copyright 2018 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-intl.locale +description: > + Checks error cases for the options argument to the Locale constructor. +info: | + Intl.Locale( tag [, options] ) + + ... + 20. Let hc be ? GetOption(options, "hourCycle", "string", « "h11", "h12", "h23", "h24" », undefined). + ... + + GetOption ( options, property, type, values, fallback ) + ... + 2. d. If values is not undefined, then + i. If values does not contain an element equal to value, throw a RangeError exception. + ... +features: [Intl.Locale] +---*/ + + +const invalidHourCycleOptions = [ + "", + "h", + "h00", + "h01", + "h10", + "h13", + "h22", + "h25", + "h48", + "h012", + "h120", + "h12\0", + "H12", +]; +for (const hourCycle of invalidHourCycleOptions) { + assert.throws(RangeError, function() { + new Intl.Locale("en", {hourCycle}); + }, `new Intl.Locale("en", {hourCycle: "${hourCycle}"}) throws RangeError`); +} + +reportCompare(0, 0); |