tor-browser

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

testDirectProxyGet9.js (668B)


      1 load(libdir + "asserts.js");
      2 
      3 var target = {x:5};
      4 var magic = false;
      5 var returnValue = 42;
      6 var handler = {
      7  get(t, p) {
      8    if (magic) {
      9      Object.defineProperty(target, 'x', {
     10          value: 42,
     11          writable: false,
     12          configurable: false
     13      });
     14      if (returnValue != 42) {
     15        gc(testGet, "shrinking");
     16      }
     17    }
     18    return returnValue;
     19  }
     20 };
     21 var proxy = new Proxy(target, handler);
     22 
     23 function testGet(p) {
     24  return p.x;
     25 }
     26 
     27 for (i = 0; i < 200; i++) {
     28  assertEq(testGet(proxy), returnValue);
     29 }
     30 magic = true;
     31 assertEq(testGet(proxy), returnValue);
     32 returnValue = 41;
     33 assertThrowsInstanceOf(function () { testGet(proxy) }, TypeError);