| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 // Copyright 2015 the V8 project authors. All rights reserved. | 
|  | 2 // Use of this source code is governed by a BSD-style license that can be | 
|  | 3 // found in the LICENSE file. | 
|  | 4 | 
|  | 5 var array = []; | 
|  | 6 var funky = { | 
|  | 7   toJSON: function() { array.length = 1; return "funky"; } | 
|  | 8 }; | 
|  | 9 for (var i = 0; i < 10; i++) array[i] = i; | 
|  | 10 array[0] = funky; | 
|  | 11 assertEquals('["funky",null,null,null,null,null,null,null,null,null]', | 
|  | 12              JSON.stringify(array)); | 
|  | 13 | 
|  | 14 array = []; | 
|  | 15 funky = { | 
|  | 16   get value() { array.length = 1; return "funky"; } | 
|  | 17 }; | 
|  | 18 for (var i = 0; i < 10; i++) array[i] = i; | 
|  | 19 array[3] = funky; | 
|  | 20 assertEquals('[0,1,2,{"value":"funky"},null,null,null,null,null,null]', | 
|  | 21              JSON.stringify(array)); | 
|  | 22 | 
|  | 23 array = []; | 
|  | 24 funky = { | 
|  | 25   get value() { array.pop(); return "funky"; } | 
|  | 26 }; | 
|  | 27 for (var i = 0; i < 10; i++) array[i] = i; | 
|  | 28 array[3] = funky; | 
|  | 29 assertEquals('[0,1,2,{"value":"funky"},4,5,6,7,8,null]', JSON.stringify(array)); | 
|  | 30 | 
|  | 31 array = []; | 
|  | 32 funky = { | 
|  | 33   get value() { delete array[9]; return "funky"; } | 
|  | 34 }; | 
|  | 35 for (var i = 0; i < 10; i++) array[i] = i; | 
|  | 36 array[3] = funky; | 
|  | 37 assertEquals('[0,1,2,{"value":"funky"},4,5,6,7,8,null]', JSON.stringify(array)); | 
|  | 38 | 
|  | 39 array = []; | 
|  | 40 funky = { | 
|  | 41   get value() { delete array[6]; return "funky"; } | 
|  | 42 }; | 
|  | 43 for (var i = 0; i < 10; i++) array[i] = i; | 
|  | 44 array[3] = funky; | 
|  | 45 assertEquals('[0,1,2,{"value":"funky"},4,5,null,7,8,9]', JSON.stringify(array)); | 
|  | 46 | 
|  | 47 array = []; | 
|  | 48 funky = { | 
|  | 49   get value() { array[12] = 12; return "funky"; } | 
|  | 50 }; | 
|  | 51 for (var i = 0; i < 10; i++) array[i] = i; | 
|  | 52 array[3] = funky; | 
|  | 53 assertEquals('[0,1,2,{"value":"funky"},4,5,6,7,8,9]', JSON.stringify(array)); | 
|  | 54 | 
|  | 55 array = []; | 
|  | 56 funky = { | 
|  | 57   get value() { array[10000000] = 12; return "funky"; } | 
|  | 58 }; | 
|  | 59 for (var i = 0; i < 10; i++) array[i] = i; | 
|  | 60 array[3] = funky; | 
|  | 61 assertEquals('[0,1,2,{"value":"funky"},4,5,6,7,8,9]', JSON.stringify(array)); | 
| OLD | NEW | 
|---|