diff options
Diffstat (limited to '')
-rw-r--r-- | js/src/tests/non262/TypedArray/toLocaleString-nointl.js | 40 |
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); |