// fun.apply(null, proxy) should not invoke the proxy's Has trap. var proxy = new Proxy({}, { get: function (target, name, proxy) { switch (name) { case "length": return 2; case "0": return 15; case "1": return undefined; default: assertEq(false, true); } }, has: function (target, name) { assertEq(false, true); } }); function foo() { assertEq(arguments.length, 2); assertEq(arguments[0], 15); assertEq(1 in arguments, true); assertEq(arguments[1], undefined); } foo.apply(null, proxy);