Files
sdk/tests/language_2/loop/break_test.dart
T
Leaf Petersen b101a7d002 Add language versions to _2 test libraries
Change-Id: Ib33169c3e0ffc870915c189404074a1dea472546
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/196548
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Leaf Petersen <leafp@google.com>
2021-04-26 17:58:57 +00:00

57 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.
// @dart = 2.9
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();
}