tor-browser

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

iterator-indices-9.js (1104B)


      1 // Tests SetPropertyCache sets to object.
      2 function test(obj) {
      3  let index = 0;
      4  for (var s in obj) {
      5    if (s.startsWith("test")) {
      6      obj[s] = index;
      7    }
      8    index++;
      9  }
     10  index = 0;
     11  for (var s in obj) {
     12    if (s.startsWith("test")) {
     13      assertEq(obj[s], index);
     14    }
     15    index++;
     16  }
     17 }
     18 
     19 function test2(obj) {
     20  let index = 0;
     21  var keys = Object.keys(obj);
     22  for (var i = 0; i < keys.length; i++) {
     23    var s = keys[i];
     24    if (s.startsWith("test")) {
     25      obj[s] = index;
     26    }
     27    index++;
     28  }
     29  index = 0;
     30  var keys = Object.keys(obj);
     31  for (var i = 0; i < keys.length; i++) {
     32    var s = keys[i];
     33    if (s.startsWith("test")) {
     34      assertEq(obj[s], index);
     35    }
     36    index++;
     37  }
     38 }
     39 
     40 var arr = [];
     41 var arr2 = [];
     42 for (var i = 0; i < 2; i++) {
     43  var obj = {};
     44  var obj2 = {};
     45  for (var j = 0; j < i * 20; j++) {
     46    obj["x_" + i + "_" + j] = 1;
     47    obj2["x_" + i + "_" + j] = 1;
     48  }
     49  obj.testKey = 1;
     50  obj2.testKey = 1;
     51  arr.push(obj);
     52  arr2.push(obj2);
     53 }
     54 
     55 with ({}) {}
     56 for (var i = 0; i < 2000; i++) {
     57  var idx = i % arr.length;
     58  test(arr[idx]);
     59  test2(arr2[idx]);
     60 }