| /* |
| * Call the trap with the handler as the this value and the target as the first |
| * argument. |
| */ |
| var target = {}; |
| var handler = { |
| preventExtensions: function (target1) { |
| assertEq(this, handler); |
| assertEq(target1, target); |
| Object.preventExtensions(target1); |
| called = true; |
| return true; |
| } |
| }; |
| |
| var proxy = new Proxy(target, handler); |
| var called = false; |
| Object.preventExtensions(proxy); |
| assertEq(called, true); |
| |
| target = {}; |
| proxy = Proxy.revocable(target, handler).proxy; |
| called = false; |
| Object.preventExtensions(proxy); |
| assertEq(called, true); |