testDirectProxyGetOwnPropertyDescriptor5.js (500B)
1 load(libdir + "asserts.js"); 2 3 /* 4 * Throw a TypeError if the trap reports an existing own property as 5 * non-existent on a non-extensible object 6 */ 7 var target = {}; 8 Object.defineProperty(target, 'foo', { 9 configurable: true 10 }); 11 Object.preventExtensions(target); 12 13 var handler = { getOwnPropertyDescriptor: () => undefined }; 14 for (let p of [new Proxy(target, handler), Proxy.revocable(target, handler).proxy]) 15 assertThrowsInstanceOf(() => Object.getOwnPropertyDescriptor(p, 'foo'), TypeError);