tor-browser

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

unboxed-element-hole.js (891B)


      1 function noElement() {
      2    for (var i = 0; i < 1e4; i++) {
      3        var obj = {length: 0};
      4        assertEq(obj[0], undefined);
      5    }
      6 }
      7 
      8 function noElementCheckPrototype() {
      9    for (var i = 0; i < 1e4; i++) {
     10        var obj = {length: 0};
     11        assertEq(obj[0], i <= 1e3 ? undefined : 1);
     12        if (i == 1e3) {
     13            Object.prototype[0] = 1;
     14        }
     15    }
     16    delete Object.prototype[0];
     17 }
     18 
     19 function elementOnPrototype() {
     20    Object.prototype[0] = 3;
     21    for (var i = 0; i < 1e4; i++) {
     22        var obj = {length: 0};
     23        assertEq(obj[0], 3);
     24    }
     25    delete Object.prototype[0];
     26 }
     27 
     28 function checkExpando() {
     29    for (var i = 0; i < 1e4; i++) {
     30        var obj = {length: 0};
     31        if (i >= 1e3) {
     32            obj[0] = 2;
     33        }
     34        assertEq(obj[0], i < 1e3 ? undefined : 2);
     35    }
     36 }
     37 
     38 noElement();
     39 noElementCheckPrototype();
     40 elementOnPrototype();
     41 checkExpando();