Index: tests/kernel/unsorted/breakable_statement_test.dart |
diff --git a/tests/kernel/unsorted/breakable_statement_test.dart b/tests/kernel/unsorted/breakable_statement_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..28870eba528de29df31da030cd1feafb3a82912e |
--- /dev/null |
+++ b/tests/kernel/unsorted/breakable_statement_test.dart |
@@ -0,0 +1,77 @@ |
+import 'expect.dart'; |
Kevin Millikin (Google)
2016/10/21 09:10:57
Copyright header.
Vyacheslav Egorov (Google)
2016/10/21 13:39:43
Done.
|
+ |
+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(); |
+} |