OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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("compiler_helper.dart"); | 5 #import("compiler_helper.dart"); |
6 | 6 |
7 final String TEST_ONE = @""" | 7 const String TEST_ONE = @""" |
8 foo(a) { | 8 foo(a) { |
9 int x = 0; | 9 int x = 0; |
10 for (int i = 0; i < 10; i++) { | 10 for (int i = 0; i < 10; i++) { |
11 x += i; | 11 x += i; |
12 } | 12 } |
13 return x; | 13 return x; |
14 } | 14 } |
15 """; | 15 """; |
16 | 16 |
17 final String TEST_TWO = @""" | 17 const String TEST_TWO = @""" |
18 foo(a) { | 18 foo(a) { |
19 int x = 0; | 19 int x = 0; |
20 int i = 0; | 20 int i = 0; |
21 while (i < 10) { | 21 while (i < 10) { |
22 x += i; | 22 x += i; |
23 i++; | 23 i++; |
24 } | 24 } |
25 return x; | 25 return x; |
26 } | 26 } |
27 """; | 27 """; |
28 | 28 |
29 final String TEST_THREE = @""" | 29 const String TEST_THREE = @""" |
30 foo(a) { | 30 foo(a) { |
31 int x = 0; | 31 int x = 0; |
32 for (int i in a) { | 32 for (int i in a) { |
33 x += i; | 33 x += i; |
34 } | 34 } |
35 return x; | 35 return x; |
36 } | 36 } |
37 """; | 37 """; |
38 | 38 |
39 | 39 |
40 final String TEST_FOUR = @""" | 40 const String TEST_FOUR = @""" |
41 foo(a) { | 41 foo(a) { |
42 int x = 0; | 42 int x = 0; |
43 for (int i = 0; i < 10; i++) { | 43 for (int i = 0; i < 10; i++) { |
44 if (i == 5) continue; | 44 if (i == 5) continue; |
45 x += i; | 45 x += i; |
46 } | 46 } |
47 return x; | 47 return x; |
48 } | 48 } |
49 """; | 49 """; |
50 | 50 |
51 final String TEST_FIVE = @""" | 51 const String TEST_FIVE = @""" |
52 foo(a) { | 52 foo(a) { |
53 int x = 0; | 53 int x = 0; |
54 int i = 0; | 54 int i = 0; |
55 while (i < 10) { | 55 while (i < 10) { |
56 i++; | 56 i++; |
57 if (i == 5) continue; | 57 if (i == 5) continue; |
58 x += i; | 58 x += i; |
59 } | 59 } |
60 return x; | 60 return x; |
61 } | 61 } |
62 """; | 62 """; |
63 | 63 |
64 final String TEST_SIX = @""" | 64 const String TEST_SIX = @""" |
65 foo(a) { | 65 foo(a) { |
66 int x = 0; | 66 int x = 0; |
67 for (int i in a) { | 67 for (int i in a) { |
68 if (i == 5) continue; | 68 if (i == 5) continue; |
69 x += i; | 69 x += i; |
70 } | 70 } |
71 return x; | 71 return x; |
72 } | 72 } |
73 """; | 73 """; |
74 | 74 |
75 | 75 |
76 main() { | 76 main() { |
77 String generated = compile(TEST_ONE, 'foo'); | 77 String generated = compile(TEST_ONE, 'foo'); |
78 Expect.isTrue(generated.contains(@'for (')); | 78 Expect.isTrue(generated.contains(@'for (')); |
79 generated = compile(TEST_TWO, 'foo'); | 79 generated = compile(TEST_TWO, 'foo'); |
80 Expect.isTrue(!generated.contains(@'break')); | 80 Expect.isTrue(!generated.contains(@'break')); |
81 generated = compile(TEST_THREE, 'foo'); | 81 generated = compile(TEST_THREE, 'foo'); |
82 Expect.isTrue(!generated.contains(@'break')); | 82 Expect.isTrue(!generated.contains(@'break')); |
83 generated = compile(TEST_FOUR, 'foo'); | 83 generated = compile(TEST_FOUR, 'foo'); |
84 Expect.isTrue(generated.contains(@'continue')); | 84 Expect.isTrue(generated.contains(@'continue')); |
85 generated = compile(TEST_FIVE, 'foo'); | 85 generated = compile(TEST_FIVE, 'foo'); |
86 Expect.isTrue(generated.contains(@'continue')); | 86 Expect.isTrue(generated.contains(@'continue')); |
87 generated = compile(TEST_SIX, 'foo'); | 87 generated = compile(TEST_SIX, 'foo'); |
88 Expect.isTrue(generated.contains(@'continue')); | 88 Expect.isTrue(generated.contains(@'continue')); |
89 } | 89 } |
OLD | NEW |