| 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 |