test("basic functionality", () => { function foo() {} expect(foo).toHaveLength(0); expect((foo.length = 5)).toBe(5); expect(foo).toHaveLength(0); function bar(a, b, c) {} expect(bar).toHaveLength(3); expect((bar.length = 5)).toBe(5); expect(bar).toHaveLength(3); }); test("functions with special parameter lists", () => { function baz(a, b = 1, c) {} expect(baz).toHaveLength(1); expect((baz.length = 5)).toBe(5); expect(baz).toHaveLength(1); function qux(a, b, ...c) {} expect(qux).toHaveLength(2); expect((qux.length = 2)).toBe(2); expect(qux).toHaveLength(2); });