// The revocation function must inherit from Function.prototype
assertEq(Object.getPrototypeOf(holder.revoke), Function.prototype);
// Proxy.revoke should return unique objects from the same opcode call. var proxyLog = [] var revokerLog = [] var holderLog = []
function addUnique(l, v)
{
assertEq(l.indexOf(v), -1);
l.push(v);
}
for (let i = 0; i < 5; i++) {
holder = Proxy.revocable({}, {});
addUnique(holderLog, holder);
addUnique(revokerLog, holder.revoke);
addUnique(proxyLog, holder.proxy);
}
// The provided revoke function should revoke only the 1 proxy var p = proxyLog.pop(); var r = revokerLog.pop();
// Works before, but not after. This is mostly a token. There are // testDirectProxy* tests to check each trap revokes properly.
p.foo;
assertEq(r(), undefined, "Revoke trap must return undefined");
assertThrowsInstanceOf(() => p.foo, TypeError);
assertEq(r(), undefined, "Revoke trap must return undefined");
// None of this should throw, since these proxies are unrevoked. for (let i = 0; i < proxyLog.length; i++)
proxyLog[i].foo;
Messung V0.5
¤ Dauer der Verarbeitung: 0.22 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.