|
1 function testArrayInWithIndexedProto() |
|
2 { |
|
3 Array.prototype[0] = "Got me"; |
|
4 var zeroPresent, zeroPresent2; |
|
5 // Need to go to 18 because in the failure mode this is |
|
6 // testing we have various side-exits in there due to interp and |
|
7 // tracer not agreeing that confuse the issue and cause us to not |
|
8 // hit the bad case within 9 iterations. |
|
9 for (var j = 0; j < 18; ++j) { |
|
10 zeroPresent = 0 in []; |
|
11 } |
|
12 |
|
13 var arr = [1, 2]; |
|
14 delete arr[0]; |
|
15 for (var j = 0; j < 18; ++j) { |
|
16 zeroPresent2 = 0 in arr; |
|
17 } |
|
18 return [zeroPresent, zeroPresent2]; |
|
19 } |
|
20 |
|
21 var [ret, ret2] = testArrayInWithIndexedProto(); |
|
22 assertEq(ret, true); |
|
23 assertEq(ret2, true); |
|
24 |