OLD | NEW |
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, 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 // Helper to test compilation equivalence between source and .dill based | 5 // Helper to test compilation equivalence between source and .dill based |
6 // compilation. | 6 // compilation. |
7 library dart2js.kernel.compile_from_dill_test_helper; | 7 library dart2js.kernel.compile_from_dill_test_helper; |
8 | 8 |
9 import 'dart:async'; | 9 import 'dart:async'; |
10 import 'dart:io'; | 10 import 'dart:io'; |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 do { | 150 do { |
151 if (i == 5) continue; | 151 if (i == 5) continue; |
152 x = i; | 152 x = i; |
153 if (i == 7) break; | 153 if (i == 7) break; |
154 i++; | 154 i++; |
155 } while (i < 10); | 155 } while (i < 10); |
156 print(x); | 156 print(x); |
157 } | 157 } |
158 ''' | 158 ''' |
159 }, expectIdenticalOutput: false), | 159 }, expectIdenticalOutput: false), |
| 160 const Test(const { |
| 161 'main.dart': ''' |
| 162 class A<U,V> { |
| 163 var a = U; |
| 164 var b = V; |
| 165 } |
| 166 class B<Q, R> extends A<R, W<Q>> { |
| 167 } |
| 168 class C<Y> extends B<Y, W<Y>> { |
| 169 } |
| 170 class W<Z> {} |
| 171 main() { |
| 172 print(new C<String>().a); |
| 173 } |
| 174 ''' |
| 175 }, expectIdenticalOutput: true), |
160 ]; | 176 ]; |
161 | 177 |
162 enum ResultKind { crashes, errors, warnings, success, failure } | 178 enum ResultKind { crashes, errors, warnings, success, failure } |
163 | 179 |
164 const List<String> commonOptions = const <String>[ | 180 const List<String> commonOptions = const <String>[ |
165 Flags.disableTypeInference, | 181 Flags.disableTypeInference, |
166 Flags.disableInlining, | 182 Flags.disableInlining, |
167 Flags.enableAssertMessage | 183 Flags.enableAssertMessage |
168 ]; | 184 ]; |
169 | 185 |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
319 Map<String, BufferedOutputSink> map2 = collector2.outputMap[outputType]; | 335 Map<String, BufferedOutputSink> map2 = collector2.outputMap[outputType]; |
320 checkSets(map1.keys, map2.keys, 'output', equality); | 336 checkSets(map1.keys, map2.keys, 'output', equality); |
321 map1.forEach((String name, BufferedOutputSink output1) { | 337 map1.forEach((String name, BufferedOutputSink output1) { |
322 BufferedOutputSink output2 = map2[name]; | 338 BufferedOutputSink output2 = map2[name]; |
323 Expect.stringEquals(output1.text, output2.text); | 339 Expect.stringEquals(output1.text, output2.text); |
324 }); | 340 }); |
325 }); | 341 }); |
326 } | 342 } |
327 return ResultKind.success; | 343 return ResultKind.success; |
328 } | 344 } |
OLD | NEW |