// The receiver argument is passed through prototype chains and proxies with no "set" handler. | |
var hits; | |
var a = new Proxy({}, { | |
set(t, id, value, receiver) { | |
assertEq(id, "prop"); | |
assertEq(value, 3); | |
assertEq(receiver, b); | |
hits++; | |
} | |
}); | |
var b = Object.create(Object.create(new Proxy(Object.create(new Proxy(a, {})), {}))); | |
hits = 0; | |
b.prop = 3; | |
assertEq(hits, 1); | |
assertEq(b.prop, undefined); |