aboutsummaryrefslogtreecommitdiffstats
path: root/test/suite/intl402/ch10/10.3/10.3.2_CS_d_NN.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/suite/intl402/ch10/10.3/10.3.2_CS_d_NN.js')
-rw-r--r--test/suite/intl402/ch10/10.3/10.3.2_CS_d_NN.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/suite/intl402/ch10/10.3/10.3.2_CS_d_NN.js b/test/suite/intl402/ch10/10.3/10.3.2_CS_d_NN.js
new file mode 100644
index 000000000..be5f1aa33
--- /dev/null
+++ b/test/suite/intl402/ch10/10.3/10.3.2_CS_d_NN.js
@@ -0,0 +1,34 @@
+// Copyright 2011-2012 Norbert Lindenberg. All rights reserved.
+// Copyright 2012 Mozilla Corporation. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @description Tests that the compare function supports different sensitivity settings.
+ * This test is not normative.
+ * @author Norbert Lindenberg
+ */
+
+$INCLUDE("testIntl.js");
+
+// this test should be valid at least for the following locales
+var locales = ["de", "en", "es", "it"];
+locales = Intl.Collator.supportedLocalesOf(locales, {localeMatcher: "lookup"});
+locales.forEach(function (locale) {
+ var target = "Aa";
+ var input = ["Aa", "bA", "E", "b", "aA", "fC", "áÁ", "Aã"];
+ var expected = {
+ "base": ["Aa", "aA", "áÁ", "Aã"],
+ "accent": ["Aa", "aA"],
+ "case": ["Aa", "Aã"],
+ "variant": ["Aa"]
+ };
+ Object.getOwnPropertyNames(expected).forEach(function (sensitivity) {
+ var collator = new Intl.Collator([locale], {usage: "search",
+ sensitivity: sensitivity, localeMatcher: "lookup"});
+ var matches = input.filter(function (v) {
+ return collator.compare(v, target) === 0;
+ });
+ testArraysAreSame(expected[sensitivity], matches);
+ });
+});
+