Index: test/mjsunit/harmony/object-observe.js |
diff --git a/test/mjsunit/harmony/object-observe.js b/test/mjsunit/harmony/object-observe.js |
index fbf4bf49a1d362faa4658a7a4a9852c0994df784..474bfcd3bc49bb7aeb8f7a8d92e97f725161ca5d 100644 |
--- a/test/mjsunit/harmony/object-observe.js |
+++ b/test/mjsunit/harmony/object-observe.js |
@@ -405,7 +405,12 @@ function TestObserveConfigurable(obj, prop) { |
Object.defineProperty(obj, prop, {get: frozenFunction, set: frozenFunction}); |
Object.defineProperty(obj, prop, {set: frozenFunction}); // ignored |
Object.defineProperty(obj, prop, {get: undefined, set: frozenFunction}); |
+ obj.__defineSetter__(prop, frozenFunction); // ignored |
+ obj.__defineSetter__(prop, function() {}); |
+ obj.__defineGetter__(prop, function() {}); |
delete obj[prop]; |
+ delete obj[prop]; // ignored |
+ obj.__defineGetter__(prop, function() {}); |
delete obj[prop]; |
Object.defineProperty(obj, prop, {get: function() {}, configurable: true}); |
Object.defineProperty(obj, prop, {value: 9, writable: true}); |
@@ -427,6 +432,10 @@ function TestObserveConfigurable(obj, prop) { |
{ object: obj, name: prop, type: "reconfigured" }, |
{ object: obj, name: prop, type: "reconfigured" }, |
{ object: obj, name: prop, type: "reconfigured" }, |
+ { object: obj, name: prop, type: "reconfigured" }, |
+ { object: obj, name: prop, type: "reconfigured" }, |
+ { object: obj, name: prop, type: "deleted" }, |
+ { object: obj, name: prop, type: "new" }, |
{ object: obj, name: prop, type: "deleted" }, |
{ object: obj, name: prop, type: "new" }, |
{ object: obj, name: prop, type: "reconfigured" }, |
@@ -466,7 +475,11 @@ function TestObserveNonConfigurable(obj, prop) { |
function createProxy(create, x) { |
var handler = { |
getPropertyDescriptor: function(k) { |
- return Object.getOwnPropertyDescriptor(this.target, k); |
+ for (var o = this.target; o; o = Object.getPrototypeOf(o)) { |
+ var desc = Object.getOwnPropertyDescriptor(o, k); |
+ if (desc) return desc; |
+ } |
+ return undefined; |
}, |
getOwnPropertyDescriptor: function(k) { |
return Object.getOwnPropertyDescriptor(this.target, k); |