|
1 // for-of does not trigger the JS 1.7 for-in destructuring special case. |
|
2 |
|
3 version(170); |
|
4 |
|
5 var data = [[1, 2, 3], [4, 5, 6, 7]]; |
|
6 |
|
7 function test(vars, expr, result) { |
|
8 var s = ''; |
|
9 eval("for (" + vars + " of data) s += (" + expr + ") + ';';"); |
|
10 assertEq(s, result); |
|
11 } |
|
12 |
|
13 for (var prefix of ["var ", "let ", ""]) { |
|
14 test(prefix + "[a, b, c]", |
|
15 "a + ',' + b + ',' + c", |
|
16 "1,2,3;4,5,6;"); |
|
17 } |
|
18 |
|
19 test("var [a]", "a", "1;4;"); |
|
20 test("var {length: len}", "len", "3;4;"); |
|
21 test("var {length}", "length", "3;4;"); |
|
22 test("{}", "0", "0;0;"); |
|
23 |