Source code

Revision control

Copy as Markdown

Other Tools

load(libdir + "asserts.js");
/*
* Throw a TypeError if the trap does not report undefined for a non-configurable
* accessor property that does not have a getter
*/
var target = {};
Object.defineProperty(target, 'foo', {
set: function (value) {},
configurable: false
});
var handler = { get: function (target, name, receiver) { return 'baz'; } };
for (let p of [new Proxy(target, handler), Proxy.revocable(target, handler).proxy])
assertThrowsInstanceOf(function () { p['foo'] }, TypeError);