tor-browser

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

bug809021.js (1702B)


      1 // nactuals > nformals
      2 function testOverflow() {
      3    var called = false;
      4    function f(a) {
      5        assertEq(a, 173);
      6        assertEq(arguments.length, 2);
      7        assertEq(arguments[0], a);
      8        assertEq(arguments[1], a);
      9        called = true;
     10    }
     11 
     12    for (var i=0; i<10; i++)
     13        [173, 173, 173].sort(f);
     14    assertEq(called, true);
     15 }
     16 testOverflow();
     17 
     18 // nactuals == nformals
     19 function testEqual() {
     20    var called = false;
     21    function f(a, b) {
     22        assertEq(a, 173);
     23        assertEq(arguments.length, 2);
     24        assertEq(arguments[0], a);
     25        assertEq(arguments[1], b);
     26        called = true;
     27    }
     28 
     29    for (var i=0; i<10; i++)
     30        [173, 173, 173].sort(f);
     31    assertEq(called, true);
     32 }
     33 testEqual();
     34 
     35 // nactuals < nformals
     36 function testUnderflow() {
     37    var called = false;
     38    function f(a, b, c) {
     39        assertEq(a, 173);
     40        assertEq(c, undefined);
     41        assertEq(arguments.length, 2);
     42        assertEq(arguments[0], a);
     43        assertEq(arguments[1], b);
     44        called = true;
     45    }
     46 
     47    for (var i=0; i<10; i++)
     48        [173, 173, 173].sort(f);
     49    assertEq(called, true);
     50 }
     51 testUnderflow();
     52 
     53 function testUnderflowMany() {
     54    var called = 0;
     55    function f(a, b, c, d, e, f, g, h) {
     56        assertEq(a, 173);
     57        assertEq(arguments.length, 3);
     58        assertEq(arguments[0], a);
     59        assertEq(arguments[1] < 3, true);
     60        assertEq(c.length, 3);
     61        assertEq(d, undefined);
     62        assertEq(e, undefined);
     63        assertEq(f, undefined);
     64        assertEq(g, undefined);
     65        assertEq(h, undefined);
     66        called += 1;
     67    }
     68 
     69    for (var i=0; i<10; i++)
     70        [173, 173, 173].map(f);
     71    assertEq(called, 30);
     72 }
     73 testUnderflowMany();