blob: 1f61174a3561a75757a4931ae2f8460852ada9c8 [file] [log] [blame]
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001// Copyright 2015 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00005
6traps = [
7 "getPrototypeOf", "setPrototypeOf", "isExtensible", "preventExtensions",
8 "getOwnPropertyDescriptor", "has", "get", "set", "deleteProperty",
9 "defineProperty", "ownKeys", "apply", "construct"
10];
Ben Murdoch4a90d5f2016-03-22 12:00:34 +000011
12var {proxy, revoke} = Proxy.revocable({}, {});
13assertEquals(0, revoke.length);
14
15assertEquals(undefined, revoke());
16for (var trap of traps) {
17 assertThrows(() => Reflect[trap](proxy), TypeError);
18}
19
20assertEquals(undefined, revoke());
21for (var trap of traps) {
22 assertThrows(() => Reflect[trap](proxy), TypeError);
23}