Test revoked [[ProxyTarget]]

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

View File

@ -1,21 +1,23 @@
// 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 )
...
2. If target is a Proxy exotic object and the value of the
[[ProxyHandler]] internal slot of target is null, throw a
TypeError exception.
...
A Proxy is created with its [[ProxyTarget]] as revoked Proxy.
info: |
ProxyCreate ( target, handler )
[...]
3. Let P be ! MakeBasicObject(« [[ProxyHandler]], [[ProxyTarget]] »).
[...]
6. Set P.[[ProxyTarget]] to target.
[...]
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");