summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/TypedArray/toLocaleString-nointl.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--js/src/tests/non262/TypedArray/toLocaleString-nointl.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/js/src/tests/non262/TypedArray/toLocaleString-nointl.js b/js/src/tests/non262/TypedArray/toLocaleString-nointl.js
new file mode 100644
index 0000000000..f2870efbe6
--- /dev/null
+++ b/js/src/tests/non262/TypedArray/toLocaleString-nointl.js
@@ -0,0 +1,40 @@
+if (typeof Intl !== "object") {
+ const localeSep = [,,].toLocaleString();
+
+ const originalNumberToLocaleString = Number.prototype.toLocaleString;
+
+ // Ensure no arguments are passed to the array elements.
+ for (let constructor of anyTypedArrayConstructors) {
+ Number.prototype.toLocaleString = function() {
+ assertEq(arguments.length, 0);
+ return "pass";
+ };
+
+ // Single element case.
+ assertEq(new constructor(1).toLocaleString(), "pass");
+
+ // More than one element.
+ assertEq(new constructor(2).toLocaleString(), "pass" + localeSep + "pass");
+ }
+ Number.prototype.toLocaleString = originalNumberToLocaleString;
+
+ // Ensure no arguments are passed to the array elements even if supplied.
+ for (let constructor of anyTypedArrayConstructors) {
+ Number.prototype.toLocaleString = function() {
+ assertEq(arguments.length, 0);
+ return "pass";
+ };
+ let locales = {};
+ let options = {};
+
+ // Single element case.
+ assertEq(new constructor(1).toLocaleString(locales, options), "pass");
+
+ // More than one element.
+ assertEq(new constructor(2).toLocaleString(locales, options), "pass" + localeSep + "pass");
+ }
+ Number.prototype.toLocaleString = originalNumberToLocaleString;
+}
+
+if (typeof reportCompare === "function")
+ reportCompare(true, true);