| /* Any copyright is dedicated to the Public Domain. |
| * http://creativecommons.org/publicdomain/zero/1.0/ */ |
| |
| function logProxy(object = {}, handler = {}) { |
| var log = []; |
| var proxy = new Proxy(object, new Proxy(handler, { |
| get(target, propertyKey, receiver) { |
| log.push(propertyKey); |
| return target[propertyKey]; |
| } |
| })); |
| return {proxy, log}; |
| } |
| |
| var {proxy, log} = logProxy(); |
| Object.preventExtensions(proxy); |
| assertDeepEq(log, ["preventExtensions"]); |
| |
| var {proxy, log} = logProxy(); |
| Object.preventExtensions(Object.preventExtensions(proxy)); |
| assertDeepEq(log, ["preventExtensions", "preventExtensions"]); |
| |
| reportCompare(0, 0); |