summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Intl/supportedValuesOf-currency.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--js/src/tests/non262/Intl/supportedValuesOf-currency.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/js/src/tests/non262/Intl/supportedValuesOf-currency.js b/js/src/tests/non262/Intl/supportedValuesOf-currency.js
new file mode 100644
index 0000000000..e2bf659e49
--- /dev/null
+++ b/js/src/tests/non262/Intl/supportedValuesOf-currency.js
@@ -0,0 +1,24 @@
+// |reftest| skip-if(!this.hasOwnProperty("Intl"))
+
+const currencies = Intl.supportedValuesOf("currency");
+
+assertEq(new Set(currencies).size, currencies.length, "No duplicates are present");
+assertEqArray(currencies, [...currencies].sort(), "The list is sorted");
+
+const codeRE = /^[A-Z]{3}$/;
+for (let currency of currencies) {
+ assertEq(codeRE.test(currency), true, `${currency} is a 3-letter ISO 4217 currency code`);
+}
+
+for (let currency of currencies) {
+ let obj = new Intl.NumberFormat("en", {style: "currency", currency});
+ assertEq(obj.resolvedOptions().currency, currency, `${currency} is supported by NumberFormat`);
+}
+
+for (let currency of currencies) {
+ let obj = new Intl.DisplayNames("en", {type: "currency", fallback: "none"});
+ assertEq(typeof obj.of(currency), "string", `${currency} is supported by DisplayNames`);
+}
+
+if (typeof reportCompare === "function")
+ reportCompare(true, true);