load(libdir + "asserts.js"); | |
/* | |
* Throw a TypeError if the trap reports an existing own property as | |
* non-existent on a non-extensible object | |
*/ | |
var target = {}; | |
Object.defineProperty(target, 'foo', { | |
configurable: true | |
}); | |
Object.preventExtensions(target); | |
var handler = { getOwnPropertyDescriptor: () => undefined }; | |
for (let p of [new Proxy(target, handler), Proxy.revocable(target, handler).proxy]) | |
assertThrowsInstanceOf(() => Object.getOwnPropertyDescriptor(p, 'foo'), TypeError); |