js/src/jit-test/tests/basic/testBug762432.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/js/src/jit-test/tests/basic/testBug762432.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,21 @@
     1.4 +function getter() { return 1; }
     1.5 +function setter() { }
     1.6 +function getDescriptor(name) {
     1.7 +  if (name != 'prop')
     1.8 +    throw "Unknown property: " + name;
     1.9 +  return { configurable: true, enumerable: true, get: getter, set: setter };
    1.10 +}
    1.11 +function getNames() { return ['prop']; }
    1.12 +var handler = {
    1.13 +  getOwnPropertyDescriptor: getDescriptor,
    1.14 +  getPropertyDescriptor: getDescriptor,
    1.15 +  getOwnPropertyNames: getNames,
    1.16 +  getPropertyNames: getNames,
    1.17 +  defineProperty: function() {},
    1.18 +  delete: function() {}
    1.19 +};
    1.20 +
    1.21 +// Make sure that __lookup{Getter,Setter}__ works on proxies.
    1.22 +var proxy = Proxy.create(handler);
    1.23 +assertEq(Object.prototype.__lookupGetter__.call(proxy, 'prop'), getter);
    1.24 +assertEq(Object.prototype.__lookupSetter__.call(proxy, 'prop'), setter);

mercurial