tor-browser

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

testDirectProxySet8.js (625B)


      1 // Assigning to a proxy with no set handler calls the defineProperty handler
      2 // when an existing inherited data property already exists.
      3 
      4 var hits = 0;
      5 var proto = {x: 1};
      6 var t = Object.create(proto);
      7 var p = new Proxy(t, {
      8    defineProperty(t, id, desc) { hits++; return true; }
      9 });
     10 p.x = 2;
     11 assertEq(hits, 1);
     12 assertEq(proto.x, 1);
     13 assertEq(t.hasOwnProperty("x"), false);
     14 
     15 // Same thing, but the receiver is a plain object inheriting from p:
     16 var receiver = Object.create(p);
     17 receiver.x = 2;
     18 assertEq(hits, 1);
     19 assertEq(t.hasOwnProperty("x"), false);
     20 assertEq(receiver.hasOwnProperty("x"), true);
     21 assertEq(receiver.x, 2);