123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- 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);
- }
|