tor-browser

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

setelem-hole.js (1254B)


      1 // Storing a typed value.
      2 function test1() {
      3    var a = [];
      4    for (var i=0; i<130; i++) {
      5        a[i] = i + 1;
      6    }
      7    return a;
      8 }
      9 
     10 var arr = test1();
     11 assertEq(arr.length, 130);
     12 
     13 for (var i=0; i<130; i++)
     14    assertEq(arr[i], i + 1);
     15 
     16 // Storing a Value.
     17 function getValue(x) {
     18    var y = x & 0x3;
     19    if (y == 0) return null;
     20    if (y == 1) return true;
     21    if (y == 2) return 1.23;
     22    if (y == 3) return Math;
     23    assertEq(0, 1);
     24 }
     25 getValue(0);
     26 getValue(1);
     27 
     28 function test2() {
     29    var a = [];
     30    for (var i=0; i<130; i++) {
     31        a[i] = getValue(i);
     32    }
     33    return a;
     34 }
     35 
     36 var arr = test2();
     37 assertEq(arr.length, 130);
     38 
     39 for (var i=0; i<130; i++)
     40    assertEq(arr[i], getValue(i));
     41 
     42 // Make sure the length-property is not updated if it's greater than
     43 // the (new) initialized length.
     44 function test3(arr, start, end) {
     45    for (var i=start; i<end; i++) {
     46        arr[i] = 10;
     47    }
     48 }
     49 var a = new Array(200);
     50 test3(a, 10, 130);
     51 assertEq(a.length, 200);
     52 
     53 for (var i=10; i<130; i++)
     54    assertEq(a[i], 10);
     55 
     56 test3(a, 130, 220);
     57 assertEq(a.length, 220);
     58 
     59 // Test constant index.
     60 function test4() {
     61    var a = [0, 1, 2, 3, 4, 5];
     62    for (var i=0; i<150; i++) {
     63        a[6] = i;
     64    }
     65    return a;
     66 }
     67 var arr = test4();
     68 assertEq(arr[6], 149);