Files
sdk/tests/language_strong/continue_test.dart
T
Bob Nystrom 6c757957db Move the dev_compiler strong mode tests into sdk/tests/.
DDC's codegen test copies those files to a local "gen" directory so
that it can do stuff like splitting out the multitests before it
compiles them to JS.

I left all of that alone, so the rest of DDC's test infrastructure is
unchanged. The very first step that builds the "gen" directory just
copies from sdk/tests/..._strong/... instead and the rest is good to go.

I did not move not_yet_strong_tests.dart somewhere more accessible yet
because I'm not sure if kernel needs it or where it should go.

I did not create any status files because DDC doesn't need them and
there are no test suites for the new directories for the other
platforms.
2016-12-09 11:09:55 -08:00

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