tor-browser

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

testMissingProperties.js (934B)


      1 function isnan(n) { return n !== n }
      2 
      3 function f(x) {
      4    var sum = 0;
      5    for (var i = 0; i < 100; ++i)
      6        sum += x.x;
      7    return sum;
      8 }
      9 var o = {};
     10 assertEq(isnan(f(o)), true);
     11 o.x = 1;
     12 assertEq(f(o), 100);
     13 var o = {a:1, b:2};
     14 assertEq(isnan(f(o)), true);
     15 o.x = 2;
     16 assertEq(f(o), 200);
     17 
     18 function g(x) {
     19    var sum = 0;
     20    for (var i = 0; i < 100; ++i)
     21        sum += x.x;
     22    return sum;
     23 }
     24 var o = {c:1, x:1};
     25 assertEq(g(o), 100);
     26 var o = {};
     27 assertEq(isnan(g(o)), true);
     28 
     29 function h(x) {
     30    var sum = 0;
     31    for (var i = 0; i < 100; ++i)
     32        sum += x.x;
     33    return sum;
     34 }
     35 
     36 var proto1 = {};
     37 var proto2 = Object.create(proto1);
     38 var o = Object.create(proto2);
     39 assertEq(isnan(f(o)), true);
     40 assertEq(isnan(g(o)), true);
     41 assertEq(isnan(h(o)), true);
     42 proto2.x = 2;
     43 assertEq(f(o), 200);
     44 assertEq(g(o), 200);
     45 assertEq(h(o), 200);
     46 var o = {}
     47 assertEq(isnan(f(o)), true);
     48 assertEq(isnan(g(o)), true);
     49 assertEq(isnan(h(o)), true);