diff options
Diffstat (limited to 'js/src/tests/ecma_6/Object/preventExtensions-proxy.js')
-rw-r--r-- | js/src/tests/ecma_6/Object/preventExtensions-proxy.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/js/src/tests/ecma_6/Object/preventExtensions-proxy.js b/js/src/tests/ecma_6/Object/preventExtensions-proxy.js new file mode 100644 index 000000000..347a63bc3 --- /dev/null +++ b/js/src/tests/ecma_6/Object/preventExtensions-proxy.js @@ -0,0 +1,23 @@ +/* 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); |