Source code
Revision control
Copy as Markdown
Other Tools
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);