-1:000000000000 | 0:9c4cf51e253f |
---|---|
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); |