var called = []; | |
var proxy = new Proxy({a: 1}, { | |
getOwnPropertyDescriptor(target, P) { | |
called.push("getOwnPropertyDescriptor"); | |
return Object.getOwnPropertyDescriptor(target, P); | |
}, | |
defineProperty(target, P, desc) { | |
called.push("defineProperty"); | |
assertEq(Object.getOwnPropertyNames(desc).length, 1); | |
assertEq(desc.configurable, false); | |
return Object.defineProperty(target, P, desc); | |
} | |
}); | |
Object.seal(proxy); | |
assertEq(called.toString(), "defineProperty"); |