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

Side by Side Diff: tests/compiler/dart2js/serialization/model_test.dart

Issue 2017903002: Improve equivalence testing of unnamed mixin applications. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Updated cf. comments. Created 4 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
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 library dart2js.serialization_model_test; 5 library dart2js.serialization_model_test;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:io'; 8 import 'dart:io';
9 import 'package:async_helper/async_helper.dart'; 9 import 'package:async_helper/async_helper.dart';
10 import 'package:expect/expect.dart'; 10 import 'package:expect/expect.dart';
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 bool found = false; 213 bool found = false;
214 for (ClassHierarchyNode other in node2.directSubclasses) { 214 for (ClassHierarchyNode other in node2.directSubclasses) {
215 if (areElementsEquivalent(child.cls, other.cls)) { 215 if (areElementsEquivalent(child.cls, other.cls)) {
216 checkClassHierarchyNodes(compiler1, compiler2, 216 checkClassHierarchyNodes(compiler1, compiler2,
217 child, other, verbose: verbose); 217 child, other, verbose: verbose);
218 found = true; 218 found = true;
219 break; 219 break;
220 } 220 }
221 } 221 }
222 if (!found) { 222 if (!found) {
223 if (child.isInstantiated) {
224 print('Missing subclass ${child.cls} of ${node1.cls} '
225 'in ${node2.directSubclasses}');
226 print(compiler1.world.dump(
227 verbose ? compiler1.coreClasses.objectClass : node1.cls));
228 print(compiler2.world.dump(
229 verbose ? compiler2.coreClasses.objectClass : node2.cls));
230 }
223 Expect.isFalse(child.isInstantiated, 231 Expect.isFalse(child.isInstantiated,
224 'Missing subclass ${child.cls} of ${node1.cls}'); 232 'Missing subclass ${child.cls} of ${node1.cls} in '
233 '${node2.directSubclasses}');
225 } 234 }
226 } 235 }
227 checkMixinUses(compiler1, compiler2, node1.cls, node2.cls, verbose: verbose); 236 checkMixinUses(compiler1, compiler2, node1.cls, node2.cls, verbose: verbose);
228 } 237 }
229 238
230 void checkSets( 239 void checkSets(
231 Iterable set1, 240 Iterable set1,
232 Iterable set2, 241 Iterable set2,
233 String messagePrefix, 242 String messagePrefix,
234 bool sameElement(a, b), 243 bool sameElement(a, b),
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 return true; 399 return true;
391 } 400 }
392 401
393 String nodeToString(Node node) { 402 String nodeToString(Node node) {
394 String text = '$node'; 403 String text = '$node';
395 if (text.length > 40) { 404 if (text.length > 40) {
396 return '(${node.runtimeType}) ${text.substring(0, 37)}...'; 405 return '(${node.runtimeType}) ${text.substring(0, 37)}...';
397 } 406 }
398 return '(${node.runtimeType}) $text'; 407 return '(${node.runtimeType}) $text';
399 } 408 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/serialization/equivalence_test.dart ('k') | tests/compiler/dart2js/serialization/test_data.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698