1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- test("rest parameter with no arguments", () => {
- function foo(...a) {
- expect(a).toBeInstanceOf(Array);
- expect(a).toHaveLength(0);
- }
- foo();
- });
- test("rest parameter with arguments", () => {
- function foo(...a) {
- expect(a).toEqual(["foo", 123, undefined, { foo: "bar" }]);
- }
- foo("foo", 123, undefined, { foo: "bar" });
- });
- test("rest parameter after normal parameters with no arguments", () => {
- function foo(a, b, ...c) {
- expect(a).toBe("foo");
- expect(b).toBe(123);
- expect(c).toEqual([]);
- }
- foo("foo", 123);
- });
- test("rest parameter after normal parameters with arguments", () => {
- function foo(a, b, ...c) {
- expect(a).toBe("foo");
- expect(b).toBe(123);
- expect(c).toEqual([undefined, { foo: "bar" }]);
- }
- foo("foo", 123, undefined, { foo: "bar" });
- });
- test("basic arrow function rest parameters", () => {
- let foo = (...a) => {
- expect(a).toBeInstanceOf(Array);
- expect(a).toHaveLength(0);
- };
- foo();
- foo = (a, b, ...c) => {
- expect(a).toBe("foo");
- expect(b).toBe(123);
- expect(c).toEqual([undefined, { foo: "bar" }]);
- };
- foo("foo", 123, undefined, { foo: "bar" });
- });
|