| OLD | NEW |
| 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 test.src.task.dart_test; | 5 library test.src.task.dart_test; |
| 6 | 6 |
| 7 import 'package:analyzer/file_system/file_system.dart'; | 7 import 'package:analyzer/file_system/file_system.dart'; |
| 8 import 'package:analyzer/file_system/memory_file_system.dart'; | 8 import 'package:analyzer/file_system/memory_file_system.dart'; |
| 9 import 'package:analyzer/src/context/cache.dart'; | 9 import 'package:analyzer/src/context/cache.dart'; |
| 10 import 'package:analyzer/src/generated/ast.dart'; | 10 import 'package:analyzer/src/generated/ast.dart'; |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 import '../../generated/test_support.dart'; | 28 import '../../generated/test_support.dart'; |
| 29 import '../../reflective_tests.dart'; | 29 import '../../reflective_tests.dart'; |
| 30 import '../mock_sdk.dart'; | 30 import '../mock_sdk.dart'; |
| 31 | 31 |
| 32 main() { | 32 main() { |
| 33 groupSep = ' | '; | 33 groupSep = ' | '; |
| 34 runReflectiveTests(BuildClassConstructorsTaskTest); | 34 runReflectiveTests(BuildClassConstructorsTaskTest); |
| 35 runReflectiveTests(BuildCompilationUnitElementTaskTest); | 35 runReflectiveTests(BuildCompilationUnitElementTaskTest); |
| 36 runReflectiveTests(BuildDirectiveElementsTaskTest); | 36 runReflectiveTests(BuildDirectiveElementsTaskTest); |
| 37 runReflectiveTests(BuildEnumMemberElementsTaskTest); | 37 runReflectiveTests(BuildEnumMemberElementsTaskTest); |
| 38 runReflectiveTests(BuildExportSourceClosureTaskTest); | 38 runReflectiveTests(BuildSourceClosuresTaskTest); |
| 39 runReflectiveTests(BuildExportNamespaceTaskTest); | 39 runReflectiveTests(BuildExportNamespaceTaskTest); |
| 40 runReflectiveTests(BuildFunctionTypeAliasesTaskTest); | 40 runReflectiveTests(BuildFunctionTypeAliasesTaskTest); |
| 41 runReflectiveTests(BuildLibraryConstructorsTaskTest); | 41 runReflectiveTests(BuildLibraryConstructorsTaskTest); |
| 42 runReflectiveTests(BuildLibraryElementTaskTest); | 42 runReflectiveTests(BuildLibraryElementTaskTest); |
| 43 runReflectiveTests(BuildPublicNamespaceTaskTest); | 43 runReflectiveTests(BuildPublicNamespaceTaskTest); |
| 44 runReflectiveTests(BuildTypeProviderTaskTest); | 44 runReflectiveTests(BuildTypeProviderTaskTest); |
| 45 runReflectiveTests(GenerateHintsTaskTest); | 45 runReflectiveTests(GenerateHintsTaskTest); |
| 46 runReflectiveTests(ParseDartTaskTest); | 46 runReflectiveTests(ParseDartTaskTest); |
| 47 runReflectiveTests(ResolveUnitTypeNamesTaskTest); | 47 runReflectiveTests(ResolveUnitTypeNamesTaskTest); |
| 48 runReflectiveTests(ResolveLibraryTypeNamesTaskTest); | 48 runReflectiveTests(ResolveLibraryTypeNamesTaskTest); |
| (...skipping 562 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 611 { | 611 { |
| 612 LibraryElement library = outputs[LIBRARY_ELEMENT4]; | 612 LibraryElement library = outputs[LIBRARY_ELEMENT4]; |
| 613 Namespace namespace = library.exportNamespace; | 613 Namespace namespace = library.exportNamespace; |
| 614 Iterable<String> definedKeys = namespace.definedNames.keys; | 614 Iterable<String> definedKeys = namespace.definedNames.keys; |
| 615 expect(definedKeys, unorderedEquals(['A', 'topLevelB', 'topLevelB='])); | 615 expect(definedKeys, unorderedEquals(['A', 'topLevelB', 'topLevelB='])); |
| 616 } | 616 } |
| 617 } | 617 } |
| 618 } | 618 } |
| 619 | 619 |
| 620 @reflectiveTest | 620 @reflectiveTest |
| 621 class BuildExportSourceClosureTaskTest extends _AbstractDartTaskTest { | |
| 622 test_perform() { | |
| 623 Source sourceA = _newSource('/a.dart', ''' | |
| 624 library lib_a; | |
| 625 export 'b.dart'; | |
| 626 '''); | |
| 627 Source sourceB = _newSource('/b.dart', ''' | |
| 628 library lib_b; | |
| 629 export 'b.dart'; | |
| 630 '''); | |
| 631 Source sourceC = _newSource('/c.dart', ''' | |
| 632 library lib_c; | |
| 633 export 'a.dart'; | |
| 634 '''); | |
| 635 Source sourceD = _newSource('/d.dart', ''' | |
| 636 library lib_d; | |
| 637 '''); | |
| 638 // a.dart | |
| 639 { | |
| 640 _computeResult(sourceA, EXPORT_SOURCE_CLOSURE); | |
| 641 expect(task, new isInstanceOf<BuildExportSourceClosureTask>()); | |
| 642 List<Source> closure = outputs[EXPORT_SOURCE_CLOSURE]; | |
| 643 expect(closure, unorderedEquals([sourceA, sourceB])); | |
| 644 } | |
| 645 // c.dart | |
| 646 { | |
| 647 _computeResult(sourceC, EXPORT_SOURCE_CLOSURE); | |
| 648 expect(task, new isInstanceOf<BuildExportSourceClosureTask>()); | |
| 649 List<Source> closure = outputs[EXPORT_SOURCE_CLOSURE]; | |
| 650 expect(closure, unorderedEquals([sourceA, sourceB, sourceC])); | |
| 651 } | |
| 652 // d.dart | |
| 653 { | |
| 654 _computeResult(sourceD, EXPORT_SOURCE_CLOSURE); | |
| 655 expect(task, new isInstanceOf<BuildExportSourceClosureTask>()); | |
| 656 List<Source> closure = outputs[EXPORT_SOURCE_CLOSURE]; | |
| 657 expect(closure, unorderedEquals([sourceD])); | |
| 658 } | |
| 659 } | |
| 660 } | |
| 661 | |
| 662 @reflectiveTest | |
| 663 class BuildFunctionTypeAliasesTaskTest extends _AbstractDartTaskTest { | 621 class BuildFunctionTypeAliasesTaskTest extends _AbstractDartTaskTest { |
| 664 test_perform() { | 622 test_perform() { |
| 665 Source source = _newSource('/test.dart', ''' | 623 Source source = _newSource('/test.dart', ''' |
| 666 typedef int F(G g); | 624 typedef int F(G g); |
| 667 typedef String G(int p); | 625 typedef String G(int p); |
| 668 '''); | 626 '''); |
| 669 LibraryUnitTarget target = new LibraryUnitTarget(source, source); | 627 LibraryUnitTarget target = new LibraryUnitTarget(source, source); |
| 670 _computeResult(target, RESOLVED_UNIT3); | 628 _computeResult(target, RESOLVED_UNIT3); |
| 671 expect(task, new isInstanceOf<BuildFunctionTypeAliasesTask>()); | 629 expect(task, new isInstanceOf<BuildFunctionTypeAliasesTask>()); |
| 672 // validate | 630 // validate |
| (...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1054 _computeResult(sources.first, LIBRARY_ELEMENT3); | 1012 _computeResult(sources.first, LIBRARY_ELEMENT3); |
| 1055 expect(task, new isInstanceOf<BuildPublicNamespaceTask>()); | 1013 expect(task, new isInstanceOf<BuildPublicNamespaceTask>()); |
| 1056 // validate | 1014 // validate |
| 1057 LibraryElement library = outputs[LIBRARY_ELEMENT3]; | 1015 LibraryElement library = outputs[LIBRARY_ELEMENT3]; |
| 1058 Namespace namespace = library.publicNamespace; | 1016 Namespace namespace = library.publicNamespace; |
| 1059 expect(namespace.definedNames.keys, unorderedEquals(['a', 'd'])); | 1017 expect(namespace.definedNames.keys, unorderedEquals(['a', 'd'])); |
| 1060 } | 1018 } |
| 1061 } | 1019 } |
| 1062 | 1020 |
| 1063 @reflectiveTest | 1021 @reflectiveTest |
| 1022 class BuildSourceClosuresTaskTest extends _AbstractDartTaskTest { |
| 1023 test_perform_exportClosure() { |
| 1024 Source sourceA = _newSource('/a.dart', ''' |
| 1025 library lib_a; |
| 1026 export 'b.dart'; |
| 1027 '''); |
| 1028 Source sourceB = _newSource('/b.dart', ''' |
| 1029 library lib_b; |
| 1030 export 'c.dart'; |
| 1031 '''); |
| 1032 Source sourceC = _newSource('/c.dart', ''' |
| 1033 library lib_c; |
| 1034 export 'a.dart'; |
| 1035 '''); |
| 1036 Source sourceD = _newSource('/d.dart', ''' |
| 1037 library lib_d; |
| 1038 '''); |
| 1039 // a.dart |
| 1040 { |
| 1041 _computeResult(sourceA, EXPORT_SOURCE_CLOSURE); |
| 1042 expect(task, new isInstanceOf<BuildSourceClosuresTask>()); |
| 1043 List<Source> closure = outputs[EXPORT_SOURCE_CLOSURE]; |
| 1044 expect(closure, unorderedEquals([sourceA, sourceB, sourceC])); |
| 1045 } |
| 1046 // c.dart |
| 1047 { |
| 1048 _computeResult(sourceC, EXPORT_SOURCE_CLOSURE); |
| 1049 expect(task, new isInstanceOf<BuildSourceClosuresTask>()); |
| 1050 List<Source> closure = outputs[EXPORT_SOURCE_CLOSURE]; |
| 1051 expect(closure, unorderedEquals([sourceA, sourceB, sourceC])); |
| 1052 } |
| 1053 // d.dart |
| 1054 { |
| 1055 _computeResult(sourceD, EXPORT_SOURCE_CLOSURE); |
| 1056 expect(task, new isInstanceOf<BuildSourceClosuresTask>()); |
| 1057 List<Source> closure = outputs[EXPORT_SOURCE_CLOSURE]; |
| 1058 expect(closure, unorderedEquals([sourceD])); |
| 1059 } |
| 1060 } |
| 1061 |
| 1062 test_perform_importClosure() { |
| 1063 Source sourceA = _newSource('/a.dart', ''' |
| 1064 library lib_a; |
| 1065 import 'b.dart'; |
| 1066 '''); |
| 1067 Source sourceB = _newSource('/b.dart', ''' |
| 1068 library lib_b; |
| 1069 import 'c.dart'; |
| 1070 '''); |
| 1071 Source sourceC = _newSource('/c.dart', ''' |
| 1072 library lib_c; |
| 1073 import 'a.dart'; |
| 1074 '''); |
| 1075 Source sourceD = _newSource('/d.dart', ''' |
| 1076 library lib_d; |
| 1077 '''); |
| 1078 Source coreSource = context.sourceFactory.resolveUri(null, 'dart:core'); |
| 1079 // a.dart |
| 1080 { |
| 1081 _computeResult(sourceA, IMPORT_SOURCE_CLOSURE); |
| 1082 expect(task, new isInstanceOf<BuildSourceClosuresTask>()); |
| 1083 List<Source> closure = outputs[IMPORT_SOURCE_CLOSURE]; |
| 1084 expect(closure, contains(sourceA)); |
| 1085 expect(closure, contains(sourceB)); |
| 1086 expect(closure, contains(sourceC)); |
| 1087 expect(closure, contains(coreSource)); |
| 1088 } |
| 1089 // c.dart |
| 1090 { |
| 1091 _computeResult(sourceC, IMPORT_SOURCE_CLOSURE); |
| 1092 expect(task, new isInstanceOf<BuildSourceClosuresTask>()); |
| 1093 List<Source> closure = outputs[IMPORT_SOURCE_CLOSURE]; |
| 1094 expect(closure, contains(sourceA)); |
| 1095 expect(closure, contains(sourceB)); |
| 1096 expect(closure, contains(sourceC)); |
| 1097 expect(closure, contains(coreSource)); |
| 1098 } |
| 1099 // d.dart |
| 1100 { |
| 1101 _computeResult(sourceD, IMPORT_SOURCE_CLOSURE); |
| 1102 expect(task, new isInstanceOf<BuildSourceClosuresTask>()); |
| 1103 List<Source> closure = outputs[IMPORT_SOURCE_CLOSURE]; |
| 1104 expect(closure, contains(sourceD)); |
| 1105 expect(closure, contains(coreSource)); |
| 1106 } |
| 1107 } |
| 1108 } |
| 1109 |
| 1110 @reflectiveTest |
| 1064 class BuildTypeProviderTaskTest extends _AbstractDartTaskTest { | 1111 class BuildTypeProviderTaskTest extends _AbstractDartTaskTest { |
| 1065 test_perform() { | 1112 test_perform() { |
| 1066 _computeResult(AnalysisContextTarget.request, TYPE_PROVIDER); | 1113 _computeResult(AnalysisContextTarget.request, TYPE_PROVIDER); |
| 1067 expect(task, new isInstanceOf<BuildTypeProviderTask>()); | 1114 expect(task, new isInstanceOf<BuildTypeProviderTask>()); |
| 1068 // validate | 1115 // validate |
| 1069 TypeProvider typeProvider = outputs[TYPE_PROVIDER]; | 1116 TypeProvider typeProvider = outputs[TYPE_PROVIDER]; |
| 1070 expect(typeProvider, isNotNull); | 1117 expect(typeProvider, isNotNull); |
| 1071 expect(typeProvider.boolType, isNotNull); | 1118 expect(typeProvider.boolType, isNotNull); |
| 1072 expect(typeProvider.intType, isNotNull); | 1119 expect(typeProvider.intType, isNotNull); |
| 1073 expect(typeProvider.futureType, isNotNull); | 1120 expect(typeProvider.futureType, isNotNull); |
| (...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1567 // prepare TaskManager | 1614 // prepare TaskManager |
| 1568 taskManager.addTaskDescriptor(GetContentTask.DESCRIPTOR); | 1615 taskManager.addTaskDescriptor(GetContentTask.DESCRIPTOR); |
| 1569 taskManager.addTaskDescriptor(ScanDartTask.DESCRIPTOR); | 1616 taskManager.addTaskDescriptor(ScanDartTask.DESCRIPTOR); |
| 1570 taskManager.addTaskDescriptor(ParseDartTask.DESCRIPTOR); | 1617 taskManager.addTaskDescriptor(ParseDartTask.DESCRIPTOR); |
| 1571 taskManager.addTaskDescriptor(BuildClassConstructorsTask.DESCRIPTOR); | 1618 taskManager.addTaskDescriptor(BuildClassConstructorsTask.DESCRIPTOR); |
| 1572 taskManager.addTaskDescriptor(BuildCompilationUnitElementTask.DESCRIPTOR); | 1619 taskManager.addTaskDescriptor(BuildCompilationUnitElementTask.DESCRIPTOR); |
| 1573 taskManager.addTaskDescriptor(BuildLibraryConstructorsTask.DESCRIPTOR); | 1620 taskManager.addTaskDescriptor(BuildLibraryConstructorsTask.DESCRIPTOR); |
| 1574 taskManager.addTaskDescriptor(BuildLibraryElementTask.DESCRIPTOR); | 1621 taskManager.addTaskDescriptor(BuildLibraryElementTask.DESCRIPTOR); |
| 1575 taskManager.addTaskDescriptor(BuildPublicNamespaceTask.DESCRIPTOR); | 1622 taskManager.addTaskDescriptor(BuildPublicNamespaceTask.DESCRIPTOR); |
| 1576 taskManager.addTaskDescriptor(BuildDirectiveElementsTask.DESCRIPTOR); | 1623 taskManager.addTaskDescriptor(BuildDirectiveElementsTask.DESCRIPTOR); |
| 1577 taskManager.addTaskDescriptor(BuildExportSourceClosureTask.DESCRIPTOR); | 1624 taskManager.addTaskDescriptor(BuildSourceClosuresTask.DESCRIPTOR); |
| 1578 taskManager.addTaskDescriptor(BuildExportNamespaceTask.DESCRIPTOR); | 1625 taskManager.addTaskDescriptor(BuildExportNamespaceTask.DESCRIPTOR); |
| 1579 taskManager.addTaskDescriptor(BuildEnumMemberElementsTask.DESCRIPTOR); | 1626 taskManager.addTaskDescriptor(BuildEnumMemberElementsTask.DESCRIPTOR); |
| 1580 taskManager.addTaskDescriptor(BuildFunctionTypeAliasesTask.DESCRIPTOR); | 1627 taskManager.addTaskDescriptor(BuildFunctionTypeAliasesTask.DESCRIPTOR); |
| 1581 taskManager.addTaskDescriptor(BuildTypeProviderTask.DESCRIPTOR); | 1628 taskManager.addTaskDescriptor(BuildTypeProviderTask.DESCRIPTOR); |
| 1582 taskManager.addTaskDescriptor(GenerateHintsTask.DESCRIPTOR); | 1629 taskManager.addTaskDescriptor(GenerateHintsTask.DESCRIPTOR); |
| 1583 taskManager.addTaskDescriptor(ResolveUnitTypeNamesTask.DESCRIPTOR); | 1630 taskManager.addTaskDescriptor(ResolveUnitTypeNamesTask.DESCRIPTOR); |
| 1584 taskManager.addTaskDescriptor(ResolveLibraryTypeNamesTask.DESCRIPTOR); | 1631 taskManager.addTaskDescriptor(ResolveLibraryTypeNamesTask.DESCRIPTOR); |
| 1585 taskManager.addTaskDescriptor(ResolveReferencesTask.DESCRIPTOR); | 1632 taskManager.addTaskDescriptor(ResolveReferencesTask.DESCRIPTOR); |
| 1586 taskManager.addTaskDescriptor(ResolveVariableReferencesTask.DESCRIPTOR); | 1633 taskManager.addTaskDescriptor(ResolveVariableReferencesTask.DESCRIPTOR); |
| 1587 taskManager.addTaskDescriptor(VerifyUnitTask.DESCRIPTOR); | 1634 taskManager.addTaskDescriptor(VerifyUnitTask.DESCRIPTOR); |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1637 return entryMap.putIfAbsent(target, () => new CacheEntry()); | 1684 return entryMap.putIfAbsent(target, () => new CacheEntry()); |
| 1638 } | 1685 } |
| 1639 | 1686 |
| 1640 TimestampedData<String> getContents(Source source) => source.contents; | 1687 TimestampedData<String> getContents(Source source) => source.contents; |
| 1641 | 1688 |
| 1642 noSuchMethod(Invocation invocation) { | 1689 noSuchMethod(Invocation invocation) { |
| 1643 print('noSuchMethod: ${invocation.memberName}'); | 1690 print('noSuchMethod: ${invocation.memberName}'); |
| 1644 return super.noSuchMethod(invocation); | 1691 return super.noSuchMethod(invocation); |
| 1645 } | 1692 } |
| 1646 } | 1693 } |
| OLD | NEW |