// 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.7 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; } 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(); }