summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/intl402/DurationFormat/constructor-options-localeMatcher-invalid.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/intl402/DurationFormat/constructor-options-localeMatcher-invalid.js')
-rw-r--r--js/src/tests/test262/intl402/DurationFormat/constructor-options-localeMatcher-invalid.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/js/src/tests/test262/intl402/DurationFormat/constructor-options-localeMatcher-invalid.js b/js/src/tests/test262/intl402/DurationFormat/constructor-options-localeMatcher-invalid.js
new file mode 100644
index 0000000000..ed89c0787f
--- /dev/null
+++ b/js/src/tests/test262/intl402/DurationFormat/constructor-options-localeMatcher-invalid.js
@@ -0,0 +1,33 @@
+// |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 invalid value for the localeMatcher option to the DurationFormat constructor.
+info: |
+ Intl.DurationFormat ( [ locales [ , options ] ] )
+ (...)
+ 5. Let matcher be ? GetOption(options, "localeMatcher", "string", « "lookup", "best fit" », "best fit").
+features: [Intl.DurationFormat]
+---*/
+
+const invalidOptions = [
+ null,
+ 1,
+ "",
+ "Lookup",
+ "LOOKUP",
+ "lookup\0",
+ "Best fit",
+ "BEST FIT",
+ "best\u00a0fit",
+];
+
+for (const localeMatcher of invalidOptions) {
+ assert.throws(RangeError, function() {
+ new Intl.DurationFormat([], { localeMatcher });
+ }, `${localeMatcher} is an invalid localeMatcher option value`);
+}
+
+reportCompare(0, 0);