tor-browser

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

megamorphic-has-prop.js (920B)


      1 function hasOwnProp(o, p) {
      2    return Object.prototype.hasOwnProperty.call(o, p);
      3 }
      4 function testHasProp() {
      5    var C = Object.create(null);
      6    C.protox = 0;
      7    var B = Object.create(C);
      8    var objs = [];
      9    for (var i = 0; i < 50; i++) {
     10        var A = Object.create(B);
     11        A["x" + i] = 0;
     12        A.ownx = 3;
     13        objs.push(A);
     14    }
     15    for (var i = 0; i < 10; i++) {
     16        for (var j = 0; j < objs.length; j++) {
     17            var obj = objs[j];
     18            assertEq(hasOwnProp(obj, "protox"), false);
     19            assertEq("protox" in obj, true);
     20            assertEq(obj.protox, 0);
     21 
     22            assertEq(hasOwnProp(obj, "ownx"), true);
     23            assertEq("ownx" in obj, true);
     24            assertEq(obj.ownx, 3);
     25 
     26            assertEq("missing" in obj, false);
     27            assertEq(hasOwnProp(obj, "missing"), false);
     28            assertEq(obj.missing, undefined);
     29        }
     30    }
     31 }
     32 testHasProp();