Files
sdk/tests/language/loop/break_test.dart
T
Robert Nystrom 3218ba8412 Migrate language_2/loop to NNBD.
Change-Id: Id8fee2221036b8dca12675ba3e4fc1c0ab7a09b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149393
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2020-05-29 23:48:57 +00:00

55 lines
1.1 KiB
Dart

// 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 test for breaks in for, do/while and while loops.
import "package:expect/expect.dart";
class BreakTest {
static testMain() {
int i;
int forCounter = 0;
for (i = 0; i < 10; i++) {
forCounter++;
if (i > 3) break;
}
Expect.equals(5, forCounter);
Expect.equals(4, i);
i = 0;
int doWhileCounter = 0;
do {
i++;
doWhileCounter++;
if (i > 3) break;
} while (i < 10);
Expect.equals(4, doWhileCounter);
Expect.equals(4, i);
i = 0;
int whileCounter = 0;
while (i < 10) {
i++;
whileCounter++;
if (i > 3) break;
}
Expect.equals(4, whileCounter);
Expect.equals(4, i);
// Use a label to break to the outer loop.
i = 0;
L:
while (i < 10) {
i++;
while (i > 5) {
break L;
}
}
Expect.equals(6, i);
}
}
main() {
BreakTest.testMain();
}