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

Side by Side Diff: tests/language/rewrite_while_test.dart

Issue 318723002: dart2dart: Restore loops with conditions and updates in backend. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Test cases Created 6 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « tests/language/rewrite_while_many_exits_test.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 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. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import "package:expect/expect.dart"; 5 import "package:expect/expect.dart";
6 6
7 7
8 baz() {} 8 baz() {}
9 9
10 loop1(x) { 10 loop1(x) {
11 var n = 0; 11 var n = 0;
12 while (n < x) { 12 while (n < x) {
13 n = n + 1; 13 n = n + 1;
14 } 14 }
15 return n; 15 return n;
16 } 16 }
17 17
18 loop2(x) { 18 loop2(x) {
19 var n = 0; 19 var n = 0;
20 if (x < 100) { 20 if (x < 100) {
21 while (n < x) { 21 while (n < x) {
22 n = n + 1; 22 n = n + 1;
23 } 23 }
24 } 24 }
25 baz(); 25 baz();
26 return n; 26 return n;
27 } 27 }
28 28
29 loop3(x) {
30 var n = 0;
31 if (x < 100) {
32 while (n < x) {
33 n = n + 1;
34 baz();
35 }
36 }
37 baz();
38 return n;
39 }
40
29 f1(b) { 41 f1(b) {
30 while (b) 42 while (b)
31 return 1; 43 return 1;
32 44
33 return 2; 45 return 2;
34 } 46 }
35 47
36 f2(b) { 48 f2(b) {
37 while (b) { 49 while (b) {
38 return 1; 50 return 1;
39 } 51 }
40 return 2; 52 return 2;
41 } 53 }
42 54
43 main() { 55 main() {
44 Expect.equals(0, loop1(-10)); 56 Expect.equals(0, loop1(-10));
45 Expect.equals(10, loop1(10)); 57 Expect.equals(10, loop1(10));
46 58
47 Expect.equals(0, loop2(-10)); 59 Expect.equals(0, loop2(-10));
48 Expect.equals(10, loop2(10)); 60 Expect.equals(10, loop2(10));
49 Expect.equals(0, loop2(200)); 61 Expect.equals(0, loop2(200));
50 62
63 Expect.equals(0, loop3(-10));
64 Expect.equals(10, loop3(10));
65 Expect.equals(0, loop3(200));
66
51 Expect.equals(1, f1(true)); 67 Expect.equals(1, f1(true));
52 Expect.equals(2, f1(false)); 68 Expect.equals(2, f1(false));
53 Expect.equals(1, f2(true)); 69 Expect.equals(1, f2(true));
54 Expect.equals(2, f2(false)); 70 Expect.equals(2, f2(false));
55 } 71 }
OLDNEW
« no previous file with comments | « tests/language/rewrite_while_many_exits_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698