tor-browser

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

shape-teleporting-3.js (807B)


      1 function test1() {
      2    var o1 = {x: 1, y: 2, z: 3};
      3    var o2 = Object.create(o1);
      4    var o3 = Object.create(o2);
      5    o2.x = 2; // Ensure teleporting is invalidated for o1.
      6    for (var i = 0; i < 30; i++) {
      7        assertEq(o3.y, i > 20 ? -1 : 2);
      8        if (i === 20) {
      9            // Add a (second) shadowing property to o2. The property access
     10            // above must detect this properly.
     11            o2.y = -1;
     12        }
     13    }
     14 }
     15 test1();
     16 
     17 function test2() {
     18    var o1 = {x: 1, y: 2, z: 3};
     19    var o2 = Object.create(o1);
     20    var o3 = Object.create(o2);
     21    var o4 = Object.create(o3);
     22    o2.x = 1;
     23    o2.a = 2;
     24    o3.a = 2;
     25    for (var i = 0; i < 30; i++) {
     26        assertEq(o4.y, i > 20 ? undefined : 2);
     27        if (i === 20) {
     28            o2.__proto__ = null;
     29        }
     30    }
     31 }
     32 test2();