diff -r 000000000000 -r 6474c204b198 js/src/jit-test/tests/basic/testBug762432.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/src/jit-test/tests/basic/testBug762432.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,21 @@ +function getter() { return 1; } +function setter() { } +function getDescriptor(name) { + if (name != 'prop') + throw "Unknown property: " + name; + return { configurable: true, enumerable: true, get: getter, set: setter }; +} +function getNames() { return ['prop']; } +var handler = { + getOwnPropertyDescriptor: getDescriptor, + getPropertyDescriptor: getDescriptor, + getOwnPropertyNames: getNames, + getPropertyNames: getNames, + defineProperty: function() {}, + delete: function() {} +}; + +// Make sure that __lookup{Getter,Setter}__ works on proxies. +var proxy = Proxy.create(handler); +assertEq(Object.prototype.__lookupGetter__.call(proxy, 'prop'), getter); +assertEq(Object.prototype.__lookupSetter__.call(proxy, 'prop'), setter);