load(libdir + "asserts.js"); function f1(a, bIs, cIs, dIs, b=1, [c], {d}) { assertEq(a, 1); assertEq(b, bIs); assertEq(c, cIs); assertEq(d, dIs); } assertEq(f1.length, 4); f1(1, 1, 42, 43, undefined, [42], {d: 43}); f1(1, 42, 43, 44, 42, [43], {d: 44}); assertThrowsInstanceOf(function () { f1(1, 1, 1, 1); }, TypeError);