ladybird/Libraries/LibJS/Tests/arguments-object.js
Andreas Kling cc14b5a6d7 LibJS: Implement a very hackish "arguments" object
We now lazily create an "arguments" array inside functions when code
tries to access it.

This doesn't follow the spec at all but still covers a lot of the
basic uses of arguments, i.e "arguments.length" and "arguments[n]"
2020-12-05 16:41:41 +01:00

16 lines
383 B
JavaScript

test("basic arguments object", () => {
function foo() {
return arguments.length;
}
expect(foo()).toBe(0);
expect(foo(1)).toBe(1);
expect(foo(1, 2)).toBe(2);
expect(foo(1, 2, 3)).toBe(3);
function bar() {
return arguments[1];
}
expect(bar("hello", "friends", ":^)")).toBe("friends");
expect(bar("hello")).toBe(undefined);
});