| 
									
										
										
										
											2020-07-05 17:26:26 -07:00
										 |  |  | test("basic functionality", () => { | 
					
						
							| 
									
										
										
										
											2020-07-05 09:27:00 -07:00
										 |  |  |   const sum = (a, b, c) => a + b + c; | 
					
						
							|  |  |  |   const a = [1, 2, 3]; | 
					
						
							| 
									
										
										
										
											2020-05-05 22:36:24 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-05 17:26:26 -07:00
										 |  |  |   expect(sum(...a)).toBe(6); | 
					
						
							|  |  |  |   expect(sum(1, ...a)).toBe(4); | 
					
						
							|  |  |  |   expect(sum(...a, 10)).toBe(6); | 
					
						
							| 
									
										
										
										
											2020-05-05 22:36:24 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-05 09:27:00 -07:00
										 |  |  |   const foo = (a, b, c) => c; | 
					
						
							| 
									
										
										
										
											2020-05-05 22:36:24 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-05 09:27:00 -07:00
										 |  |  |   const o = { bar: [1, 2, 3] }; | 
					
						
							| 
									
										
										
										
											2020-07-05 17:26:26 -07:00
										 |  |  |   expect(foo(...o.bar)).toBe(3); | 
					
						
							|  |  |  |   expect(foo(..."abc")).toBe("c"); | 
					
						
							|  |  |  | }); | 
					
						
							| 
									
										
										
										
											2020-05-05 22:36:24 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-05 17:26:26 -07:00
										 |  |  | test("spreading non iterable", () => { | 
					
						
							|  |  |  |   expect(() => { | 
					
						
							|  |  |  |     [...1]; | 
					
						
							|  |  |  |   }).toThrowWithMessage(TypeError, "1 is not iterable"); | 
					
						
							|  |  |  | }); |