OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 'dart:async'; |
5 import "package:expect/expect.dart"; | 6 import "package:expect/expect.dart"; |
6 import "package:async_helper/async_helper.dart"; | 7 import "package:async_helper/async_helper.dart"; |
7 import 'compiler_helper.dart'; | 8 import 'compiler_helper.dart'; |
8 | 9 |
9 const String TEST_1 = """ | 10 const String TEST_1 = """ |
10 class A { | 11 class A { |
11 var a = 42; | 12 var a = 42; |
12 } | 13 } |
13 | 14 |
14 void main() { | 15 void main() { |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
228 a[0] = 1; | 229 a[0] = 1; |
229 } else { | 230 } else { |
230 a[0] = 2; | 231 a[0] = 2; |
231 } | 232 } |
232 return a[0]; | 233 return a[0]; |
233 } | 234 } |
234 """; | 235 """; |
235 | 236 |
236 | 237 |
237 main() { | 238 main() { |
238 test(String code, Function f) { | 239 test(String code, String expected) { |
239 asyncTest(() => compileAll(code, disableInlining: false).then((generated) { | 240 return () => compileAll(code, disableInlining: false).then((generated) { |
240 Expect.isTrue(f(generated)); | 241 Expect.isTrue(generated.contains(expected), |
241 })); | 242 "Generated code didn't contain '$expected'.\n" |
| 243 "Test:\n$code, Generated:\n$generated"); |
| 244 }); |
242 } | 245 } |
243 test(TEST_1, (generated) => generated.contains('return 42')); | 246 asyncTest(() => Future.forEach([ |
244 test(TEST_2, (generated) => generated.contains('return 42')); | 247 test(TEST_1, 'return 42'), |
245 test(TEST_3, (generated) => generated.contains('return 84')); | 248 test(TEST_2, 'return 42'), |
246 test(TEST_4, (generated) => generated.contains('return t1 + t1')); | 249 test(TEST_3, 'return 84'), |
247 test(TEST_5, (generated) => generated.contains('return 84')); | 250 test(TEST_4, 'return t1 + t1'), |
248 test(TEST_6, (generated) => generated.contains('return 84')); | 251 test(TEST_5, 'return 84'), |
249 test(TEST_7, (generated) => generated.contains('return 32')); | 252 test(TEST_6, 'return 84'), |
250 test(TEST_8, (generated) => generated.contains('return a.a')); | 253 test(TEST_7, 'return 32'), |
251 test(TEST_9, (generated) => generated.contains('return a.a')); | 254 test(TEST_8, 'return a.a'), |
252 test(TEST_10, (generated) => generated.contains('return 2')); | 255 test(TEST_9, 'return a.a'), |
253 test(TEST_11, (generated) => generated.contains('return a.a')); | 256 test(TEST_10, 'return 2'), |
254 test(TEST_12, (generated) => generated.contains('return 6')); | 257 test(TEST_11, 'return a.a'), |
255 test(TEST_13, (generated) => generated.contains('return 6')); | 258 test(TEST_12, 'return 6'), |
256 test(TEST_14, (generated) => generated.contains('return t1[0]')); | 259 test(TEST_13, 'return 6'), |
257 test(TEST_15, (generated) => generated.contains('return 42')); | 260 test(TEST_14, 'return t1[0]'), |
258 test(TEST_16, (generated) => generated.contains('return \$.a')); | 261 test(TEST_15, 'return 42'), |
259 test(TEST_17, (generated) => generated.contains('return t1')); | 262 test(TEST_16, 'return \$.a'), |
260 test(TEST_18, (generated) => generated.contains('return t1')); | 263 test(TEST_17, 'return t1'), |
| 264 test(TEST_18, 'return t1'), |
| 265 ], (f) => f())); |
261 } | 266 } |
OLD | NEW |