tor-browser

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

defaults-destructuring-mixed-default-value.js (1500B)


      1 function f1(a=1,
      2            [b, c=(assertEq(a, 2), a=3, 42)]=[(assertEq(a, 1), a=2, 43)],
      3            {d, e:e=(assertEq(a, 4), a=5, 44)}={d: (assertEq(a, 3), a=4, 45)},
      4            f=(assertEq(a, 5), a=6, 46)) {
      5  assertEq(a, 6);
      6  assertEq(b, 43);
      7  assertEq(c, 42);
      8  assertEq(d, 45);
      9  assertEq(e, 44);
     10  assertEq(f, 46);
     11 }
     12 assertEq(f1.length, 0);
     13 f1();
     14 
     15 function f2(a=1,
     16            [b, c=assertEq(false)]=[(assertEq(a, 1), a=2, 42), (assertEq(a, 2), a=3, 43)],
     17            {d, e:e=assertEq(false)}={d: (assertEq(a, 3), a=4, 44), e: (assertEq(a, 4), a=5, 45)},
     18            f=(assertEq(a, 5), a=6, 46)) {
     19  assertEq(a, 6);
     20  assertEq(b, 42);
     21  assertEq(c, 43);
     22  assertEq(d, 44);
     23  assertEq(e, 45);
     24  assertEq(f, 46);
     25 }
     26 assertEq(f2.length, 0);
     27 f2();
     28 
     29 function f3(a=1,
     30            [b, c=(assertEq(a, 1), a=2, 42)]=[assertEq(false)],
     31            {d, e:e=(assertEq(a, 2), a=3, 43)}={d: assertEq(false)},
     32            f=(assertEq(a, 3), a=4, 44)) {
     33  assertEq(a, 4);
     34  assertEq(b, 8);
     35  assertEq(c, 42);
     36  assertEq(d, 9);
     37  assertEq(e, 43);
     38  assertEq(f, 44);
     39 }
     40 assertEq(f3.length, 0);
     41 f3(undefined, [8], {d: 9});
     42 
     43 function f4(a=1,
     44            [b, c=assertEq(false)]=[assertEq(false), assertEq(false)],
     45            {d, e:e=assertEq(false)}={d: assertEq(false), e: assertEq(false)},
     46            f=(assertEq(a, 1), a=2, 42)) {
     47  assertEq(a, 2);
     48  assertEq(b, 8);
     49  assertEq(c, 9);
     50  assertEq(d, 10);
     51  assertEq(e, 11);
     52  assertEq(f, 42);
     53 }
     54 assertEq(f4.length, 0);
     55 f4(undefined, [8, 9], {d: 10, e: 11});