// Getting a property that exists on an ordinary object | |
// does not touch a proxy on its proto chain. | |
load(libdir + "asserts.js"); | |
var angryHandler = new Proxy({}, { | |
get(t, id) { throw new Error("angryHandler should not be queried (" + id + ")"); } | |
}); | |
var angryProto = new Proxy({}, angryHandler); | |
var obj = Object.create(angryProto, { | |
x: {value: 3}, | |
y: {get: () => 4} | |
}); | |
assertThrowsInstanceOf(() => obj.z, Error); // check that angryProto works | |
assertEq(obj.x, 3); | |
assertEq(obj.y, 4); |