Test revoked [[ProxyHandler]]

This commit is contained in:
Alexey Shvayka 2020-03-28 16:41:25 +02:00 committed by Rick Waldron
parent 8b610fb33a
commit e8e3aaa77b
1 changed files with 12 additions and 11 deletions

View File

@ -1,21 +1,22 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 9.5.15
esid: sec-proxycreate
description: >
Proxy ( target, handler )
...
4. If handler is a Proxy exotic object and the value of the
[[ProxyHandler]] internal slot of handler is null, throw a
TypeError exception.
...
A Proxy is created with its [[ProxyHandler]] as revoked Proxy.
info: |
ProxyCreate ( target, handler )
[...]
3. Let P be ! MakeBasicObject(« [[ProxyHandler]], [[ProxyTarget]] »).
[...]
7. Set P.[[ProxyHandler]] to handler.
8. Return P.
features: [Proxy]
---*/
var revocable = Proxy.revocable({}, {});
revocable.revoke();
assert.throws(TypeError, function() {
new Proxy({}, revocable.proxy);
});
var proxy = new Proxy({}, revocable.proxy);
assert.sameValue(typeof proxy, "object");