summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/TypedArray/sorting_buffer_access.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--js/src/tests/non262/TypedArray/sorting_buffer_access.js15
1 files changed, 15 insertions, 0 deletions
diff --git a/js/src/tests/non262/TypedArray/sorting_buffer_access.js b/js/src/tests/non262/TypedArray/sorting_buffer_access.js
new file mode 100644
index 0000000000..c31f4ca167
--- /dev/null
+++ b/js/src/tests/non262/TypedArray/sorting_buffer_access.js
@@ -0,0 +1,15 @@
+// Ensure that when sorting arrays of size greater than 128, which
+// calls RadixSort under the hood, we don't access the 'buffer'
+// property of the typed array directly.
+
+
+// The buggy behavior in the RadixSort is only exposed when we use
+// float arrays, but checking everything just to be sure.
+for (var ctor of anyTypedArrayConstructors) {
+ var testArray = new ctor(1024);
+ Object.defineProperty(testArray, "buffer", { get() { throw new Error("FAIL: Buffer accessed directly"); } });
+ testArray.sort();
+}
+
+if (typeof reportCompare === "function")
+ reportCompare(true, true);