| 
									
										
										
										
											2020-04-27 14:01:04 +01:00
										 |  |  | function testArray(arr) { | 
					
						
							| 
									
										
										
										
											2020-07-06 07:37:45 -07:00
										 |  |  |     return arr.length === 4 && arr[0] === "a" && arr[1] === "b" && arr[2] === "c" && arr[3] === "d"; | 
					
						
							| 
									
										
										
										
											2020-04-27 14:01:04 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-05 10:47:40 -07:00
										 |  |  | test("spreading string literal", () => { | 
					
						
							| 
									
										
										
										
											2020-07-06 07:37:45 -07:00
										 |  |  |     expect(["a", ..."bc", "d"]).toEqual(["a", "b", "c", "d"]); | 
					
						
							| 
									
										
										
										
											2020-07-05 10:47:40 -07:00
										 |  |  | }); | 
					
						
							| 
									
										
										
										
											2020-04-27 14:01:04 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-05 10:47:40 -07:00
										 |  |  | test("spreading string variable", () => { | 
					
						
							| 
									
										
										
										
											2020-07-06 07:37:45 -07:00
										 |  |  |     const s = "bc"; | 
					
						
							|  |  |  |     expect(["a", ...s, "d"]).toEqual(["a", "b", "c", "d"]); | 
					
						
							| 
									
										
										
										
											2020-07-05 10:47:40 -07:00
										 |  |  | }); | 
					
						
							| 
									
										
										
										
											2020-04-27 14:01:04 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-05 10:47:40 -07:00
										 |  |  | test("spreading string in object", () => { | 
					
						
							| 
									
										
										
										
											2020-07-06 07:37:45 -07:00
										 |  |  |     const obj = { a: "bc" }; | 
					
						
							|  |  |  |     expect(["a", ...obj.a, "d"]).toEqual(["a", "b", "c", "d"]); | 
					
						
							| 
									
										
										
										
											2020-07-05 10:47:40 -07:00
										 |  |  | }); | 
					
						
							| 
									
										
										
										
											2020-04-27 14:01:04 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-05 10:47:40 -07:00
										 |  |  | test("spreading empty string", () => { | 
					
						
							| 
									
										
										
										
											2020-07-06 07:37:45 -07:00
										 |  |  |     expect([..."", "a", ..."bc", ..."", "d", ...""]).toEqual(["a", "b", "c", "d"]); | 
					
						
							| 
									
										
										
										
											2020-07-05 10:47:40 -07:00
										 |  |  | }); | 
					
						
							| 
									
										
										
										
											2020-04-27 14:01:04 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-05 10:47:40 -07:00
										 |  |  | test("spreading string objects", () => { | 
					
						
							| 
									
										
										
										
											2020-07-06 07:37:45 -07:00
										 |  |  |     expect([..."", ...[...new String("abc")], "d"]).toEqual(["a", "b", "c", "d"]); | 
					
						
							| 
									
										
										
										
											2020-07-05 10:47:40 -07:00
										 |  |  | }); |