tor-browser

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

fold-in.js (730B)


      1 // Singleton
      2 function f() {
      3    var res = 0;
      4    for (var i=0; i<500; i++)
      5 res += ("abcd" in Math);
      6    return res;
      7 }
      8 assertEq(f(), 0);
      9 Math.abcd = 3;
     10 assertEq(f(), 500);
     11 delete Math.abcd;
     12 assertEq(f(), 0);
     13 
     14 // Non-singleton
     15 function O(x) { if (x) this.x = 1; }
     16 
     17 var arr = [];
     18 for (var i=0; i<4; i++)
     19    arr.push(new O(i % 2));
     20 
     21 function g(arr) {
     22    var res = 0;
     23    for (var i=0; i<500; i++) {
     24 var o = arr[i % arr.length];
     25 res += "x" in o;
     26 res += "abcd" in o;
     27    }
     28    return res;
     29 }
     30 assertEq(g(arr), 250);
     31 arr[0].abcd = 3;
     32 assertEq(g(arr), 375);
     33 
     34 function testPrimitive() {
     35    var x = 7;
     36    var c = 0;
     37    for (var i=0; i<5; i++) {
     38 try {
     39     "z" in x;
     40 } catch(e) { c++; }
     41    }
     42    assertEq(c, 5);
     43 }
     44 testPrimitive();