species-fuse-2.js (525B)
1 // Test for array species fuse with multiple realms. 2 function test() { 3 var g = newGlobal(); 4 var arr = g.evaluate(`[1, 2, 3]`); 5 var count = 0; 6 Object.defineProperty(g.Array.prototype, "constructor", {get: function() { 7 count++; 8 return Array; 9 }}); 10 for (var i = 0; i < 20; i++) { 11 assertEq(Array.prototype.slice.call(arr).length, 3); 12 } 13 assertEq(count, 20); 14 assertEq(getFuseState().OptimizeArraySpeciesFuse.intact, true); 15 assertEq(g.getFuseState().OptimizeArraySpeciesFuse.intact, false); 16 } 17 test();