Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(27)

Side by Side Diff: tests/language_strong/async_continue_label_test.dart

Issue 2990973002: Migrate block 39 language/async_backwards ... /async_star_take. (Closed)
Patch Set: Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 import "package:expect/expect.dart";
6 import "package:async_helper/async_helper.dart";
7
8 // Two loop variables
9 test1() async {
10 var r = 0;
11 label:
12 for (var i = 1,
13 j =
14 await //# await_in_init: ok
15 10;
16 i < 10 &&
17 j >
18 await //# await_in_condition: ok
19 -5;
20 j--,
21 i +=
22 await //# await_in_update: ok
23 1) {
24 if (i <
25 await //# await_in_body: ok
26 5 ||
27 j < -5) {
28 continue label;
29 }
30 r++;
31 }
32 Expect.equals(5, r);
33 }
34
35 // One loop variable
36 test2() async {
37 var r = 0;
38 label:
39 for (var i =
40 await //# await_in_init: ok
41 0;
42 i <
43 await //# await_in_condition: ok
44 10;
45 i +=
46 await //# await_in_update: ok
47 1) {
48 if (i <
49 await //# await_in_body: ok
50 5) {
51 continue label;
52 }
53 r++;
54 }
55 Expect.equals(5, r);
56 }
57
58 // Variable not declared in initializer;
59 test3() async {
60 var r = 0, i, j;
61 label:
62 for (i =
63 await //# await_in_init: ok
64 0;
65 i <
66 await //# await_in_condition: ok
67 10;
68 i +=
69 await //# await_in_update: ok
70 1) {
71 if (i <
72 await //# await_in_body: ok
73 5) {
74 continue label;
75 }
76 r++;
77 }
78 Expect.equals(5, r);
79 }
80
81 // Nested loop
82 test4() async {
83 var r = 0;
84 label:
85 for (var i =
86 await //# await_in_init: ok
87 0;
88 i <
89 await //# await_in_condition: ok
90 10;
91 i +=
92 await //# await_in_update: ok
93 1) {
94 if (i <
95 await //# await_in_body: ok
96 5) {
97 for (int i = 0; i < 10; i++) {
98 continue label;
99 }
100 }
101 r++;
102 }
103 Expect.equals(5, r);
104 }
105
106 test() async {
107 await test1();
108 await test2();
109 await test3();
110 await test4();
111 }
112
113 main() {
114 asyncStart();
115 test().then((_) => asyncEnd());
116 }
OLDNEW
« no previous file with comments | « tests/language_strong/async_cascade_test.dart ('k') | tests/language_strong/async_control_structures_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698