tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

testDirectProxyGetInherited2.js (743B)


      1 // Getting a property that's inherted from a proxy calls the proxy's get handler.
      2 
      3 var handler = {
      4    get(t, id, r) {
      5        assertEq(this, handler);
      6        assertEq(t, target);
      7        assertEq(id, "foo");
      8        assertEq(r, obj);
      9        return "bar";
     10    },
     11    getOwnPropertyDescriptor(t, id) {
     12        throw "FAIL";
     13    }
     14 };
     15 
     16 var target = {};
     17 var proto = new Proxy(target, handler);
     18 var obj = Object.create(proto);
     19 assertEq(obj.foo, "bar");
     20 
     21 // Longer proto chain: same result.
     22 var origObj = obj;
     23 for (var i = 0; i < 4; i++)
     24    obj = Object.create(obj);
     25 assertEq(obj.foo, "bar");
     26 
     27 // Chain of transparent proxy wrappers: same result.
     28 obj = origObj;
     29 for (var i = 0; i < 4; i++)
     30    obj = new Proxy(obj, {});
     31 assertEq(obj.foo, "bar");