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

Side by Side Diff: test/dependency_graph_test.dart

Issue 986723002: Add JavaScriptSourceNode to represent runtime libraries (fixes #85) (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 9 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
« lib/src/dependency_graph.dart ('K') | « lib/src/dependency_graph.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 dev_compiler.test.dependency_graph_test; 5 library dev_compiler.test.dependency_graph_test;
6 6
7 import 'package:unittest/compact_vm_config.dart'; 7 import 'package:unittest/compact_vm_config.dart';
8 import 'package:unittest/unittest.dart'; 8 import 'package:unittest/unittest.dart';
9 9
10 import 'package:dev_compiler/src/checker/dart_sdk.dart' 10 import 'package:dev_compiler/src/checker/dart_sdk.dart'
(...skipping 532 matching lines...) Expand 10 before | Expand all | Expand 10 after
543 expect(node.structureChanged, isFalse); 543 expect(node.structureChanged, isFalse);
544 node.update(graph); 544 node.update(graph);
545 expect(node.structureChanged, isTrue); 545 expect(node.structureChanged, isTrue);
546 }); 546 });
547 }); 547 });
548 }); 548 });
549 549
550 group('refresh structure and marks', () { 550 group('refresh structure and marks', () {
551 test('initial marks', () { 551 test('initial marks', () {
552 var node = nodeOf('/index3.html'); 552 var node = nodeOf('/index3.html');
553 expectGraph(node, 'index3.html'); 553 expectGraph(node, '''
554 index3.html
555 |-- dart_runtime.js
556 |-- harmony_feature_check.js
Jennifer Messerly 2015/03/09 16:12:41 not related to this CL, but ... I'm not sure we wa
Siggi Cherem (dart-lang) 2015/03/09 17:31:39 True, I've opened #87 to track
557 ''');
554 refreshStructureAndMarks(node, graph); 558 refreshStructureAndMarks(node, graph);
555 expectGraph(node, ''' 559 expectGraph(node, '''
556 index3.html [needs-rebuild] [structure-changed] 560 index3.html [needs-rebuild] [structure-changed]
557 |-- a2.dart [needs-rebuild] [structure-changed] 561 |-- a2.dart [needs-rebuild] [structure-changed]
558 | |-- a3.dart [needs-rebuild] 562 | |-- a3.dart [needs-rebuild]
559 | |-- a4.dart [needs-rebuild] [structure-changed] 563 | |-- a4.dart [needs-rebuild] [structure-changed]
560 | | |-- a10.dart [needs-rebuild] 564 | | |-- a10.dart [needs-rebuild]
561 | |-- a5.dart [needs-rebuild] 565 | |-- a5.dart [needs-rebuild]
562 | |-- a6.dart (part) [needs-rebuild] 566 | |-- a6.dart (part) [needs-rebuild]
567 |-- dart_runtime.js [needs-rebuild]
568 |-- harmony_feature_check.js [needs-rebuild]
563 '''); 569 ''');
564 }); 570 });
565 571
566 test('cleared marks stay clear', () { 572 test('cleared marks stay clear', () {
567 var node = nodeOf('/index3.html'); 573 var node = nodeOf('/index3.html');
568 refreshStructureAndMarks(node, graph); 574 refreshStructureAndMarks(node, graph);
569 expectGraph(node, ''' 575 expectGraph(node, '''
570 index3.html [needs-rebuild] [structure-changed] 576 index3.html [needs-rebuild] [structure-changed]
571 |-- a2.dart [needs-rebuild] [structure-changed] 577 |-- a2.dart [needs-rebuild] [structure-changed]
572 | |-- a3.dart [needs-rebuild] 578 | |-- a3.dart [needs-rebuild]
573 | |-- a4.dart [needs-rebuild] [structure-changed] 579 | |-- a4.dart [needs-rebuild] [structure-changed]
574 | | |-- a10.dart [needs-rebuild] 580 | | |-- a10.dart [needs-rebuild]
575 | |-- a5.dart [needs-rebuild] 581 | |-- a5.dart [needs-rebuild]
576 | |-- a6.dart (part) [needs-rebuild] 582 | |-- a6.dart (part) [needs-rebuild]
583 |-- dart_runtime.js [needs-rebuild]
584 |-- harmony_feature_check.js [needs-rebuild]
577 '''); 585 ''');
578 clearMarks(node); 586 clearMarks(node);
579 expectGraph(node, ''' 587 expectGraph(node, '''
580 index3.html 588 index3.html
581 |-- a2.dart 589 |-- a2.dart
582 | |-- a3.dart 590 | |-- a3.dart
583 | |-- a4.dart 591 | |-- a4.dart
584 | | |-- a10.dart 592 | | |-- a10.dart
585 | |-- a5.dart 593 | |-- a5.dart
586 | |-- a6.dart (part) 594 | |-- a6.dart (part)
595 |-- dart_runtime.js
596 |-- harmony_feature_check.js
587 '''); 597 ''');
588 598
589 refreshStructureAndMarks(node, graph); 599 refreshStructureAndMarks(node, graph);
590 expectGraph(node, ''' 600 expectGraph(node, '''
591 index3.html 601 index3.html
592 |-- a2.dart 602 |-- a2.dart
593 | |-- a3.dart 603 | |-- a3.dart
594 | |-- a4.dart 604 | |-- a4.dart
595 | | |-- a10.dart 605 | | |-- a10.dart
596 | |-- a5.dart 606 | |-- a5.dart
597 | |-- a6.dart (part) 607 | |-- a6.dart (part)
608 |-- dart_runtime.js
609 |-- harmony_feature_check.js
598 '''); 610 ''');
599 }); 611 });
600 612
601 test('needsRebuild mark updated on local modifications', () { 613 test('needsRebuild mark updated on local modifications', () {
602 var node = nodeOf('/index3.html'); 614 var node = nodeOf('/index3.html');
603 refreshStructureAndMarks(node, graph); 615 refreshStructureAndMarks(node, graph);
604 clearMarks(node); 616 clearMarks(node);
605 var a3 = nodeOf('/a3.dart'); 617 var a3 = nodeOf('/a3.dart');
606 a3.source.contents.modificationTime++; 618 a3.source.contents.modificationTime++;
607 619
608 refreshStructureAndMarks(node, graph); 620 refreshStructureAndMarks(node, graph);
609 expectGraph(node, ''' 621 expectGraph(node, '''
610 index3.html 622 index3.html
611 |-- a2.dart 623 |-- a2.dart
612 | |-- a3.dart [needs-rebuild] 624 | |-- a3.dart [needs-rebuild]
613 | |-- a4.dart 625 | |-- a4.dart
614 | | |-- a10.dart 626 | | |-- a10.dart
615 | |-- a5.dart 627 | |-- a5.dart
616 | |-- a6.dart (part) 628 | |-- a6.dart (part)
629 |-- dart_runtime.js
630 |-- harmony_feature_check.js
617 '''); 631 ''');
618 }); 632 });
619 633
620 test('structuredChanged mark updated on structure modifications', () { 634 test('structuredChanged mark updated on structure modifications', () {
621 var node = nodeOf('/index3.html'); 635 var node = nodeOf('/index3.html');
622 refreshStructureAndMarks(node, graph); 636 refreshStructureAndMarks(node, graph);
623 clearMarks(node); 637 clearMarks(node);
624 var a5 = nodeOf('/a5.dart'); 638 var a5 = nodeOf('/a5.dart');
625 a5.source.contents.modificationTime++; 639 a5.source.contents.modificationTime++;
626 a5.source.contents.data = 'import "a8.dart";'; 640 a5.source.contents.data = 'import "a8.dart";';
627 641
628 refreshStructureAndMarks(node, graph); 642 refreshStructureAndMarks(node, graph);
629 expectGraph(node, ''' 643 expectGraph(node, '''
630 index3.html 644 index3.html
631 |-- a2.dart 645 |-- a2.dart
632 | |-- a3.dart 646 | |-- a3.dart
633 | |-- a4.dart 647 | |-- a4.dart
634 | | |-- a10.dart 648 | | |-- a10.dart
635 | |-- a5.dart [needs-rebuild] [structure-changed] 649 | |-- a5.dart [needs-rebuild] [structure-changed]
636 | | |-- a8.dart [needs-rebuild] [structure-changed] 650 | | |-- a8.dart [needs-rebuild] [structure-changed]
637 | | | |-- a8.dart... 651 | | | |-- a8.dart...
638 | |-- a6.dart (part) 652 | |-- a6.dart (part)
653 |-- dart_runtime.js
654 |-- harmony_feature_check.js
639 '''); 655 ''');
640 }); 656 });
641 }); 657 });
642 658
643 group('rebuild', () { 659 group('rebuild', () {
644 var results; 660 var results;
645 void addName(SourceNode n) => results.add(nameFor(n)); 661 void addName(SourceNode n) => results.add(nameFor(n));
646 662
647 bool buildNoTransitiveChange(SourceNode n) { 663 bool buildNoTransitiveChange(SourceNode n) {
648 addName(n); 664 addName(n);
(...skipping 12 matching lines...) Expand all
661 test('everything build on first run', () { 677 test('everything build on first run', () {
662 var node = nodeOf('/index3.html'); 678 var node = nodeOf('/index3.html');
663 rebuild(node, graph, buildNoTransitiveChange); 679 rebuild(node, graph, buildNoTransitiveChange);
664 // Note: a6.dart is not included because it built as part of a2.dart 680 // Note: a6.dart is not included because it built as part of a2.dart
665 expect(results, [ 681 expect(results, [
666 'a3.dart', 682 'a3.dart',
667 'a10.dart', 683 'a10.dart',
668 'a4.dart', 684 'a4.dart',
669 'a5.dart', 685 'a5.dart',
670 'a2.dart', 686 'a2.dart',
671 'index3.html' 687 'dart_runtime.js',
688 'harmony_feature_check.js',
689 'index3.html',
672 ]); 690 ]);
673 691
674 // Marks are removed automatically by rebuild 692 // Marks are removed automatically by rebuild
675 expectGraph(node, ''' 693 expectGraph(node, '''
676 index3.html 694 index3.html
677 |-- a2.dart 695 |-- a2.dart
678 | |-- a3.dart 696 | |-- a3.dart
679 | |-- a4.dart 697 | |-- a4.dart
680 | | |-- a10.dart 698 | | |-- a10.dart
681 | |-- a5.dart 699 | |-- a5.dart
682 | |-- a6.dart (part) 700 | |-- a6.dart (part)
701 |-- dart_runtime.js
702 |-- harmony_feature_check.js
683 '''); 703 ''');
684 }); 704 });
685 705
686 test('nothing to do after build', () { 706 test('nothing to do after build', () {
687 var node = nodeOf('/index3.html'); 707 var node = nodeOf('/index3.html');
688 rebuild(node, graph, buildNoTransitiveChange); 708 rebuild(node, graph, buildNoTransitiveChange);
689 709
690 results = []; 710 results = [];
691 rebuild(node, graph, buildNoTransitiveChange); 711 rebuild(node, graph, buildNoTransitiveChange);
692 expect(results, []); 712 expect(results, []);
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
823 rebuild(node, graph, buildNoTransitiveChange); 843 rebuild(node, graph, buildNoTransitiveChange);
824 844
825 expectGraph(node, ''' 845 expectGraph(node, '''
826 index3.html 846 index3.html
827 |-- a2.dart 847 |-- a2.dart
828 | |-- a3.dart 848 | |-- a3.dart
829 | |-- a4.dart 849 | |-- a4.dart
830 | | |-- a10.dart 850 | | |-- a10.dart
831 | |-- a5.dart 851 | |-- a5.dart
832 | |-- a6.dart (part) 852 | |-- a6.dart (part)
853 |-- dart_runtime.js
854 |-- harmony_feature_check.js
833 '''); 855 ''');
834 856
835 // Modify the file first: 857 // Modify the file first:
836 a6.source.contents.modificationTime++; 858 a6.source.contents.modificationTime++;
837 a6.source.contents.data = 'library a6; import "a5.dart";'; 859 a6.source.contents.data = 'library a6; import "a5.dart";';
838 results = []; 860 results = [];
839 rebuild(node, graph, buildNoTransitiveChange); 861 rebuild(node, graph, buildNoTransitiveChange);
840 862
841 // Looks to us like a change in a part, we'll report errors that the 863 // Looks to us like a change in a part, we'll report errors that the
842 // part is not really a part-file. Note that a6.dart is not included 864 // part is not really a part-file. Note that a6.dart is not included
843 // below, because we don't build it as a library. 865 // below, because we don't build it as a library.
844 expect(results, ['a2.dart']); 866 expect(results, ['a2.dart']);
845 expectGraph(node, ''' 867 expectGraph(node, '''
846 index3.html 868 index3.html
847 |-- a2.dart 869 |-- a2.dart
848 | |-- a3.dart 870 | |-- a3.dart
849 | |-- a4.dart 871 | |-- a4.dart
850 | | |-- a10.dart 872 | | |-- a10.dart
851 | |-- a5.dart 873 | |-- a5.dart
852 | |-- a6.dart (part) 874 | |-- a6.dart (part)
875 |-- dart_runtime.js
876 |-- harmony_feature_check.js
853 '''); 877 ''');
854 878
855 a2.source.contents.modificationTime++; 879 a2.source.contents.modificationTime++;
856 a2.source.contents.data = ''' 880 a2.source.contents.data = '''
857 library a2; 881 library a2;
858 import 'a3.dart'; 882 import 'a3.dart';
859 import 'a4.dart'; 883 import 'a4.dart';
860 import 'a6.dart'; // properly import it 884 import 'a6.dart'; // properly import it
861 export 'a5.dart'; 885 export 'a5.dart';
862 '''; 886 ''';
(...skipping 10 matching lines...) Expand all
873 897
874 expectGraph(node, ''' 898 expectGraph(node, '''
875 index3.html 899 index3.html
876 |-- a2.dart 900 |-- a2.dart
877 | |-- a3.dart 901 | |-- a3.dart
878 | |-- a4.dart 902 | |-- a4.dart
879 | | |-- a10.dart 903 | | |-- a10.dart
880 | |-- a6.dart 904 | |-- a6.dart
881 | | |-- a5.dart 905 | | |-- a5.dart
882 | |-- a5.dart... 906 | |-- a5.dart...
907 |-- dart_runtime.js
908 |-- harmony_feature_check.js
883 '''); 909 ''');
884 }); 910 });
885 911
886 test('convert part to a library after updating the import', () { 912 test('convert part to a library after updating the import', () {
887 var node = nodeOf('/index3.html'); 913 var node = nodeOf('/index3.html');
888 var a2 = nodeOf('/a2.dart'); 914 var a2 = nodeOf('/a2.dart');
889 var a6 = nodeOf('/a6.dart'); 915 var a6 = nodeOf('/a6.dart');
890 rebuild(node, graph, buildNoTransitiveChange); 916 rebuild(node, graph, buildNoTransitiveChange);
891 917
892 expectGraph(node, ''' 918 expectGraph(node, '''
893 index3.html 919 index3.html
894 |-- a2.dart 920 |-- a2.dart
895 | |-- a3.dart 921 | |-- a3.dart
896 | |-- a4.dart 922 | |-- a4.dart
897 | | |-- a10.dart 923 | | |-- a10.dart
898 | |-- a5.dart 924 | |-- a5.dart
899 | |-- a6.dart (part) 925 | |-- a6.dart (part)
926 |-- dart_runtime.js
927 |-- harmony_feature_check.js
900 '''); 928 ''');
901 929
902 a2.source.contents.modificationTime++; 930 a2.source.contents.modificationTime++;
903 a2.source.contents.data = ''' 931 a2.source.contents.data = '''
904 library a2; 932 library a2;
905 import 'a3.dart'; 933 import 'a3.dart';
906 import 'a4.dart'; 934 import 'a4.dart';
907 import 'a6.dart'; // properly import it 935 import 'a6.dart'; // properly import it
908 export 'a5.dart'; 936 export 'a5.dart';
909 '''; 937 ''';
910 results = []; 938 results = [];
911 rebuild(node, graph, buildNoTransitiveChange); 939 rebuild(node, graph, buildNoTransitiveChange);
912 expect(results, ['a6.dart', 'a2.dart', 'index3.html']); 940 expect(results, ['a6.dart', 'a2.dart', 'index3.html']);
913 expectGraph(node, ''' 941 expectGraph(node, '''
914 index3.html 942 index3.html
915 |-- a2.dart 943 |-- a2.dart
916 | |-- a3.dart 944 | |-- a3.dart
917 | |-- a4.dart 945 | |-- a4.dart
918 | | |-- a10.dart 946 | | |-- a10.dart
919 | |-- a6.dart 947 | |-- a6.dart
920 | |-- a5.dart 948 | |-- a5.dart
949 |-- dart_runtime.js
950 |-- harmony_feature_check.js
921 '''); 951 ''');
922 952
923 a6.source.contents.modificationTime++; 953 a6.source.contents.modificationTime++;
924 a6.source.contents.data = 'library a6; import "a5.dart";'; 954 a6.source.contents.data = 'library a6; import "a5.dart";';
925 results = []; 955 results = [];
926 rebuild(node, graph, buildNoTransitiveChange); 956 rebuild(node, graph, buildNoTransitiveChange);
927 expect(results, ['a6.dart', 'index3.html']); 957 expect(results, ['a6.dart', 'index3.html']);
928 expectGraph(node, ''' 958 expectGraph(node, '''
929 index3.html 959 index3.html
930 |-- a2.dart 960 |-- a2.dart
931 | |-- a3.dart 961 | |-- a3.dart
932 | |-- a4.dart 962 | |-- a4.dart
933 | | |-- a10.dart 963 | | |-- a10.dart
934 | |-- a6.dart 964 | |-- a6.dart
935 | | |-- a5.dart 965 | | |-- a5.dart
936 | |-- a5.dart... 966 | |-- a5.dart...
967 |-- dart_runtime.js
968 |-- harmony_feature_check.js
937 '''); 969 ''');
938 }); 970 });
939 971
940 test('disconnect part making it a library', () { 972 test('disconnect part making it a library', () {
941 var node = nodeOf('/index3.html'); 973 var node = nodeOf('/index3.html');
942 var a2 = nodeOf('/a2.dart'); 974 var a2 = nodeOf('/a2.dart');
943 var a6 = nodeOf('/a6.dart'); 975 var a6 = nodeOf('/a6.dart');
944 rebuild(node, graph, buildNoTransitiveChange); 976 rebuild(node, graph, buildNoTransitiveChange);
945 977
946 expectGraph(node, ''' 978 expectGraph(node, '''
947 index3.html 979 index3.html
948 |-- a2.dart 980 |-- a2.dart
949 | |-- a3.dart 981 | |-- a3.dart
950 | |-- a4.dart 982 | |-- a4.dart
951 | | |-- a10.dart 983 | | |-- a10.dart
952 | |-- a5.dart 984 | |-- a5.dart
953 | |-- a6.dart (part) 985 | |-- a6.dart (part)
986 |-- dart_runtime.js
987 |-- harmony_feature_check.js
954 '''); 988 ''');
955 989
956 a2.source.contents.modificationTime++; 990 a2.source.contents.modificationTime++;
957 a2.source.contents.data = ''' 991 a2.source.contents.data = '''
958 library a2; 992 library a2;
959 import 'a3.dart'; 993 import 'a3.dart';
960 import 'a4.dart'; 994 import 'a4.dart';
961 export 'a5.dart'; 995 export 'a5.dart';
962 '''; 996 ''';
963 a6.source.contents.modificationTime++; 997 a6.source.contents.modificationTime++;
964 a6.source.contents.data = 'library a6; import "a5.dart";'; 998 a6.source.contents.data = 'library a6; import "a5.dart";';
965 results = []; 999 results = [];
966 rebuild(node, graph, buildNoTransitiveChange); 1000 rebuild(node, graph, buildNoTransitiveChange);
967 // a6 is not here, it's not reachable so we don't build it. 1001 // a6 is not here, it's not reachable so we don't build it.
968 expect(results, ['a2.dart', 'index3.html']); 1002 expect(results, ['a2.dart', 'index3.html']);
969 expectGraph(node, ''' 1003 expectGraph(node, '''
970 index3.html 1004 index3.html
971 |-- a2.dart 1005 |-- a2.dart
972 | |-- a3.dart 1006 | |-- a3.dart
973 | |-- a4.dart 1007 | |-- a4.dart
974 | | |-- a10.dart 1008 | | |-- a10.dart
975 | |-- a5.dart 1009 | |-- a5.dart
1010 |-- dart_runtime.js
1011 |-- harmony_feature_check.js
976 '''); 1012 ''');
977 }); 1013 });
978 1014
979 test('convert a library to a part', () { 1015 test('convert a library to a part', () {
980 var node = nodeOf('/index3.html'); 1016 var node = nodeOf('/index3.html');
981 var a2 = nodeOf('/a2.dart'); 1017 var a2 = nodeOf('/a2.dart');
982 var a5 = nodeOf('/a5.dart'); 1018 var a5 = nodeOf('/a5.dart');
983 rebuild(node, graph, buildNoTransitiveChange); 1019 rebuild(node, graph, buildNoTransitiveChange);
984 1020
985 expectGraph(node, ''' 1021 expectGraph(node, '''
986 index3.html 1022 index3.html
987 |-- a2.dart 1023 |-- a2.dart
988 | |-- a3.dart 1024 | |-- a3.dart
989 | |-- a4.dart 1025 | |-- a4.dart
990 | | |-- a10.dart 1026 | | |-- a10.dart
991 | |-- a5.dart 1027 | |-- a5.dart
992 | |-- a6.dart (part) 1028 | |-- a6.dart (part)
1029 |-- dart_runtime.js
1030 |-- harmony_feature_check.js
993 '''); 1031 ''');
994 1032
995 a2.source.contents.modificationTime++; 1033 a2.source.contents.modificationTime++;
996 a2.source.contents.data = ''' 1034 a2.source.contents.data = '''
997 library a2; 1035 library a2;
998 import 'a3.dart'; 1036 import 'a3.dart';
999 import 'a4.dart'; 1037 import 'a4.dart';
1000 part 'a5.dart'; // make it a part 1038 part 'a5.dart'; // make it a part
1001 part 'a6.dart'; 1039 part 'a6.dart';
1002 '''; 1040 ''';
1003 results = []; 1041 results = [];
1004 rebuild(node, graph, buildNoTransitiveChange); 1042 rebuild(node, graph, buildNoTransitiveChange);
1005 expect(results, ['a2.dart', 'index3.html']); 1043 expect(results, ['a2.dart', 'index3.html']);
1006 expectGraph(node, ''' 1044 expectGraph(node, '''
1007 index3.html 1045 index3.html
1008 |-- a2.dart 1046 |-- a2.dart
1009 | |-- a3.dart 1047 | |-- a3.dart
1010 | |-- a4.dart 1048 | |-- a4.dart
1011 | | |-- a10.dart 1049 | | |-- a10.dart
1012 | |-- a5.dart (part) 1050 | |-- a5.dart (part)
1013 | |-- a6.dart (part) 1051 | |-- a6.dart (part)
1052 |-- dart_runtime.js
1053 |-- harmony_feature_check.js
1014 '''); 1054 ''');
1015 1055
1016 a5.source.contents.modificationTime++; 1056 a5.source.contents.modificationTime++;
1017 a5.source.contents.data = 'part of a2;'; 1057 a5.source.contents.data = 'part of a2;';
1018 results = []; 1058 results = [];
1019 rebuild(node, graph, buildNoTransitiveChange); 1059 rebuild(node, graph, buildNoTransitiveChange);
1020 expect(results, ['a2.dart']); 1060 expect(results, ['a2.dart']);
1021 expectGraph(node, ''' 1061 expectGraph(node, '''
1022 index3.html 1062 index3.html
1023 |-- a2.dart 1063 |-- a2.dart
1024 | |-- a3.dart 1064 | |-- a3.dart
1025 | |-- a4.dart 1065 | |-- a4.dart
1026 | | |-- a10.dart 1066 | | |-- a10.dart
1027 | |-- a5.dart (part) 1067 | |-- a5.dart (part)
1028 | |-- a6.dart (part) 1068 | |-- a6.dart (part)
1069 |-- dart_runtime.js
1070 |-- harmony_feature_check.js
1029 '''); 1071 ''');
1030 }); 1072 });
1031 }); 1073 });
1032 }); 1074 });
1033 } 1075 }
1034 1076
1035 expectGraph(SourceNode node, String expectation) { 1077 expectGraph(SourceNode node, String expectation) {
1036 expect(printReachable(node), equalsIgnoringWhitespace(expectation)); 1078 expect(printReachable(node), equalsIgnoringWhitespace(expectation));
1037 } 1079 }
1038 1080
(...skipping 30 matching lines...) Expand all
1069 ..write(e.structureChanged ? '[structure-changed] ' : ' ') 1111 ..write(e.structureChanged ? '[structure-changed] ' : ' ')
1070 ..write('\n'); 1112 ..write('\n');
1071 }); 1113 });
1072 } 1114 }
1073 } 1115 }
1074 helper(node); 1116 helper(node);
1075 return sb.toString(); 1117 return sb.toString();
1076 } 1118 }
1077 1119
1078 bool _same(Set a, Set b) => a.length == b.length && a.containsAll(b); 1120 bool _same(Set a, Set b) => a.length == b.length && a.containsAll(b);
OLDNEW
« lib/src/dependency_graph.dart ('K') | « lib/src/dependency_graph.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698