1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- load("test-common.js");
- function testArray(arr) {
- return arr.length === 4 &&
- arr[0] === 0 &&
- arr[1] === 1 &&
- arr[2] === 2 &&
- arr[3] === 3;
- }
- try {
- let arr = [0, ...[1, 2], 3];
- assert(testArray(arr));
- let a = [1, 2];
- arr = [0, ...a, 3];
- assert(testArray(arr));
- let obj = { a: [1, 2] };
- arr = [0, ...obj.a, 3];
- assert(testArray(arr));
- arr = [...[], ...[...[0, 1, 2]], 3];
- assert(testArray(arr));
- assertThrowsError(() => {
- [...1];
- }, {
- error: TypeError,
- message: "1 is not iterable",
- });
- assertThrowsError(() => {
- [...{}];
- }, {
- error: TypeError,
- message: "[object Object] is not iterable",
- });
- console.log("PASS");
- } catch (e) {
- console.log("FAIL: " + e);
- }
|