summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/intl402/Locale/constructor-options-hourcycle-invalid.js
diff options
context:
space:
mode:
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.js45
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);