summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/basic/testTypedArrayUndefinedAndHoles.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/basic/testTypedArrayUndefinedAndHoles.js')
-rw-r--r--js/src/jit-test/tests/basic/testTypedArrayUndefinedAndHoles.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/testTypedArrayUndefinedAndHoles.js b/js/src/jit-test/tests/basic/testTypedArrayUndefinedAndHoles.js
new file mode 100644
index 0000000000..0800b10859
--- /dev/null
+++ b/js/src/jit-test/tests/basic/testTypedArrayUndefinedAndHoles.js
@@ -0,0 +1,32 @@
+function holeArray(sparse) {
+ var a = [,,];
+ if (sparse)
+ a.length = 1000;
+ return a;
+}
+
+function undefinedArray(sparse) {
+ var a = [ undefined, undefined, undefined ];
+ if (sparse)
+ a.length = 1000;
+ return a;
+}
+
+var a;
+a = new Int32Array(holeArray(false));
+assertEq(a[0], 0);
+a = new Int32Array(holeArray(true));
+assertEq(a[0], 0);
+a = new Int32Array(undefinedArray(false));
+assertEq(a[0], 0);
+a = new Int32Array(undefinedArray(true));
+assertEq(a[0], 0);
+
+a = new Float64Array(holeArray(false));
+assertEq(a[0], NaN);
+a = new Float64Array(holeArray(true));
+assertEq(a[0], NaN);
+a = new Float64Array(undefinedArray(false));
+assertEq(a[0], NaN);
+a = new Float64Array(undefinedArray(true));
+assertEq(a[0], NaN);