summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Intl/ListFormat/shell.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--js/src/tests/non262/Intl/ListFormat/shell.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/js/src/tests/non262/Intl/ListFormat/shell.js b/js/src/tests/non262/Intl/ListFormat/shell.js
new file mode 100644
index 0000000000..70056a579e
--- /dev/null
+++ b/js/src/tests/non262/Intl/ListFormat/shell.js
@@ -0,0 +1,21 @@
+function GenericPartCreator(type) {
+ return str => ({ type, value: str });
+}
+
+const ListFormatParts = {
+ Element: GenericPartCreator("element"),
+ Literal: GenericPartCreator("literal"),
+};
+
+function assertParts(lf, x, expected) {
+ var parts = lf.formatToParts(x);
+ assertEq(parts.map(part => part.value).join(""), lf.format(x),
+ "formatToParts and format must agree");
+
+ var len = parts.length;
+ assertEq(len, expected.length, "parts count mismatch");
+ for (var i = 0; i < len; i++) {
+ assertEq(parts[i].type, expected[i].type, "type mismatch at " + i);
+ assertEq(parts[i].value, expected[i].value, "value mismatch at " + i);
+ }
+}