summaryrefslogtreecommitdiffstats
path: root/js/src/tests/ecma/Array/15.4.4.3-2.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/ecma/Array/15.4.4.3-2.js')
-rw-r--r--js/src/tests/ecma/Array/15.4.4.3-2.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/js/src/tests/ecma/Array/15.4.4.3-2.js b/js/src/tests/ecma/Array/15.4.4.3-2.js
new file mode 100644
index 000000000..9b01737c2
--- /dev/null
+++ b/js/src/tests/ecma/Array/15.4.4.3-2.js
@@ -0,0 +1,39 @@
+var arr = [0,1,,3,4];
+Object.prototype[2] = 2;
+
+assertEq(arr.join(""), "01234");
+assertEq(arr.join(","), "0,1,2,3,4");
+
+arr[2] = "porkchops";
+assertEq(arr.join("*"), "0*1*porkchops*3*4");
+
+delete Object.prototype[2];
+assertEq(arr.join("*"), "0*1*porkchops*3*4");
+
+delete arr[2];
+assertEq(arr.join("*"), "0*1**3*4");
+
+Object.prototype[2] = null;
+assertEq(arr.join("*"), "0*1**3*4");
+Object.prototype[2] = undefined;
+assertEq(arr.join("*"), "0*1**3*4");
+arr[2] = null;
+assertEq(arr.join("*"), "0*1**3*4");
+arr[2] = undefined;
+assertEq(arr.join("*"), "0*1**3*4");
+
+var arr = new Array(10);
+assertEq(arr.join(""), "");
+assertEq(arr.join(), ",,,,,,,,,");
+assertEq(arr.join("|"), "|||||||||");
+
+arr[2] = "doubt";
+assertEq(arr.join(","), ",,doubt,,,,,,,");
+
+arr[9] = "failure";
+assertEq(arr.join(","), ",,doubt,,,,,,,failure");
+
+delete arr[2];
+assertEq(arr.join(","), ",,,,,,,,,failure");
+
+reportCompare(true, true);