summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/proxy/testDirectProxyGet4.js
blob: 4fc7b2f9a3fbc460208ddc38c28c2c75be395282 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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);