diff -r 000000000000 -r 6474c204b198 js/src/tests/ecma/Array/15.4.4.3-2.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/src/tests/ecma/Array/15.4.4.3-2.js Wed Dec 31 06:09:35 2014 +0100 @@ -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);