| // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| // @dart = 2.9 |
| |
| import "package:expect/expect.dart"; |
| |
| // Dart test for testing for in on a list literal. |
| |
| main() { |
| testSimple(); |
| testGenericSyntax1(); |
| testGenericSyntax2(); |
| testGenericSyntax3(); |
| testGenericSyntax4(); |
| testShadowLocal1(); |
| testShadowLocal2(); |
| } |
| |
| void testSimple() { |
| var list = [1, 3, 5]; |
| var sum = 0; |
| for (var i in list) { |
| sum += i; |
| } |
| Expect.equals(9, sum); |
| } |
| |
| void testGenericSyntax1() { |
| List<List<String>> aCollection = []; |
| for (List<String> strArrArr in aCollection) {} |
| } |
| |
| void testGenericSyntax2() { |
| List<List<String>> aCollection = []; |
| List<String> strArrArr; |
| for (strArrArr in aCollection) {} |
| } |
| |
| void testGenericSyntax3() { |
| List<List<List<String>>> aCollection = []; |
| for (List<List<String>> strArrArr in aCollection) {} |
| } |
| |
| void testGenericSyntax4() { |
| List<List<List<String>>> aCollection = []; |
| List<List<String>> strArrArr; |
| for (strArrArr in aCollection) {} |
| } |
| |
| void testShadowLocal1() { |
| List<int> x = [1, 2, 3]; |
| var i = 0; |
| for (var x in x) { |
| Expect.equals(x, ++i); |
| } |
| } |
| |
| void testShadowLocal2() { |
| Object x = [1, 2, 3]; |
| var i = 0; |
| for (x in x) { |
| Expect.equals(x, ++i); |
| } |
| } |