seal-proxy.js (522B)
1 var called = []; 2 var proxy = new Proxy({a: 1}, { 3 getOwnPropertyDescriptor(target, P) { 4 called.push("getOwnPropertyDescriptor"); 5 return Object.getOwnPropertyDescriptor(target, P); 6 }, 7 defineProperty(target, P, desc) { 8 called.push("defineProperty"); 9 assertEq(Object.getOwnPropertyNames(desc).length, 1); 10 assertEq(desc.configurable, false); 11 return Object.defineProperty(target, P, desc); 12 } 13 }); 14 15 Object.seal(proxy); 16 assertEq(called.toString(), "defineProperty");