Files
sdk/tests/language_2/continue_test.dart
T
Jaime Wren 89b700eddd Migrated test block 54 to Dart 2.0
Some status files touched, and some constructor initializations re-ordedered to get DDC to pass.

Some context: https://www.dartlang.org/guides/language/effective-dart/usage#do-place-the-super-call-last-in-a-constructor-initialization-list

Change-Id: Ifd371214c5620a7745d5cfbf250922ca6d67bc95
Reviewed-on: https://dart-review.googlesource.com/4083
Commit-Queue: Jaime Wren <jwren@google.com>
Reviewed-by: Janice Collins <jcollins@google.com>
2017-09-18 18:39:12 +00:00

77 lines
1.5 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 continue in for, do/while and while loops.
import "package:expect/expect.dart";
class ContinueTest {
static testMain() {
int i;
int forCounter = 0;
for (i = 0; i < 10; i++) {
if (i > 3) continue;
forCounter++;
}
Expect.equals(4, forCounter);
Expect.equals(10, i);
i = 0;
int doWhileCounter = 0;
do {
i++;
if (i > 3) continue;
doWhileCounter++;
} while (i < 10);
Expect.equals(3, doWhileCounter);
Expect.equals(10, i);
i = 0;
int whileCounter = 0;
while (i < 10) {
i++;
if (i > 3) continue;
whileCounter++;
}
Expect.equals(3, whileCounter);
Expect.equals(10, i);
// Use a label to continue to the outer loop.
i = 0;
L:
while (i < 50) {
i += 3;
while (i < 30) {
i += 2;
if (i < 10) {
continue L;
} else {
i++;
break;
}
}
break;
}
Expect.equals(11, i);
// continue without label inside switch continues to innermost loop.
do {
i = 20;
switch (0) {
case 0:
i = 22;
continue;
default:
i = 25;
break;
}
i = 30;
} while (false);
Expect.equals(22, i);
}
}
main() {
ContinueTest.testMain();
}