Source code

Revision control

Copy as Markdown

Other Tools

var x = "wrong";
var t = {x: "x"};
var hits = 0;
var p = new Proxy(t, {
has(t, id) {
var found = id in t;
if (++hits == 2)
delete t[id];
return found;
},
get(t, id) { return t[id]; }
});
with (p)
x += " x";
// If you change this testcase (e.g. because we fix the number of
// has() calls we end up making to match spec better), don't forget to
// update bug1106982-2.js too. See also bug 1145641.
assertEq(hits, 2);
assertEq(t.x, "undefined x");