40611dd611
TBR=kustermann@google.com BUG= Review URL: https://codereview.chromium.org/2454993003 .
82 lines
1.3 KiB
Dart
82 lines
1.3 KiB
Dart
// Copyright (c) 2016, 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';
|
|
|
|
testFor() {
|
|
int current;
|
|
for (int i = 0; i < 100; i++) {
|
|
current = i;
|
|
if (i > 41) break;
|
|
}
|
|
Expect.isTrue(current == 42);
|
|
}
|
|
|
|
testWhile() {
|
|
int i = 0;
|
|
while (i < 100) {
|
|
if (++i > 41) break;
|
|
}
|
|
Expect.isTrue(i == 42);
|
|
}
|
|
|
|
testDoWhile() {
|
|
int i = 0;
|
|
do {
|
|
if (++i > 41) break;
|
|
} while (i < 100);
|
|
Expect.isTrue(i == 42);
|
|
}
|
|
|
|
testLabledBreakOutermost() {
|
|
int i = 0;
|
|
outer: {
|
|
middle: {
|
|
while (i < 100) {
|
|
if (++i > 41) break outer;
|
|
}
|
|
i++;
|
|
}
|
|
i++;
|
|
}
|
|
Expect.isTrue(i == 42);
|
|
}
|
|
|
|
testLabledBreakMiddle() {
|
|
int i = 0;
|
|
outer: {
|
|
middle: {
|
|
while (i < 100) {
|
|
if (++i > 41) break middle;
|
|
}
|
|
i++;
|
|
}
|
|
i++;
|
|
}
|
|
Expect.isTrue(i == 43);
|
|
}
|
|
|
|
testLabledBreakInner() {
|
|
int i = 0;
|
|
outer: {
|
|
middle: {
|
|
while (i < 100) {
|
|
if (++i > 41) break;
|
|
}
|
|
i++;
|
|
}
|
|
i++;
|
|
}
|
|
Expect.isTrue(i == 44);
|
|
}
|
|
|
|
main() {
|
|
testFor();
|
|
testWhile();
|
|
testDoWhile();
|
|
testLabledBreakOutermost();
|
|
testLabledBreakMiddle();
|
|
testLabledBreakInner();
|
|
}
|