ladybird/Libraries/LibJS/Tests/functions/function-length.js

23 lines
634 B
JavaScript

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);
});