propertyOptimize-4.js (445B)
1 // Make sure new script properties can be invalidated on specialized prototype 2 // types while they are still being constructed. 3 4 function Foo(a, b, c) { 5 this.x = a + b; 6 this.y = c; 7 } 8 9 updated = false; 10 var o = {valueOf: function() { 11 Object.defineProperty(Object.prototype, 'y', {set:function() { updated = true; }}) 12 }}; 13 14 function Bar() {} 15 Bar.prototype = new Foo(o, 1, 2); 16 assertEq(updated, true); 17 assertEq(Bar.prototype.y, undefined);