|  | // 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. | 
|  |  | 
|  | import "package:expect/expect.dart"; | 
|  |  | 
|  | void for1() { | 
|  | var cond = true; | 
|  | var result = 0; | 
|  | for (var x = 0; cond; x = x + 1) { | 
|  | if (x == 10) cond = false; | 
|  | result = result + x; | 
|  | } | 
|  | Expect.equals(55, result); | 
|  | } | 
|  |  | 
|  | void for2() { | 
|  | var t = 0; | 
|  | for (var i = 0; i == 0; i = i + 1) { | 
|  | t = t + 10; | 
|  | } | 
|  | Expect.equals(10, t); | 
|  | } | 
|  |  | 
|  | void for3() { | 
|  | for (var i = 0; i == 1; i = i + 1) { | 
|  | Expect.fail('unreachable'); | 
|  | } | 
|  | } | 
|  |  | 
|  | void for4() { | 
|  | var cond1 = true; | 
|  | var result = 0; | 
|  | for (var i = 0; cond1; i = i + 1) { | 
|  | if (i == 9) cond1 = false; | 
|  | var cond2 = true; | 
|  | for (var j = 0; cond2; j = j + 1) { | 
|  | if (j == 9) cond2 = false; | 
|  | result = result + 1; | 
|  | } | 
|  | } | 
|  | Expect.equals(100, result); | 
|  | } | 
|  |  | 
|  | void for5() { | 
|  | var i; | 
|  | var sum = 0; | 
|  | for (i = 0; i < 5; i++) { | 
|  | sum += i as int; | 
|  | } | 
|  | Expect.equals(5, i); | 
|  | Expect.equals(10, sum); | 
|  | } | 
|  |  | 
|  | void for6() { | 
|  | var i = 0; | 
|  | var sum = 0; | 
|  | for (; i < 5; i++) { | 
|  | sum += i; | 
|  | } | 
|  | Expect.equals(5, i); | 
|  | Expect.equals(10, sum); | 
|  |  | 
|  | sum = 0; | 
|  | i = 0; | 
|  | for (; i < 5;) { | 
|  | sum += i; | 
|  | i++; | 
|  | } | 
|  | Expect.equals(5, i); | 
|  | Expect.equals(10, sum); | 
|  |  | 
|  | sum = 0; | 
|  | for (i = 0; i < 5;) { | 
|  | sum += i; | 
|  | i++; | 
|  | } | 
|  | Expect.equals(5, i); | 
|  | Expect.equals(10, sum); | 
|  | } | 
|  |  | 
|  | void main() { | 
|  | for1(); | 
|  | for2(); | 
|  | for3(); | 
|  | for4(); | 
|  | for5(); | 
|  | for6(); | 
|  | } |