| 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 20 matching lines...) Expand all Loading... |
| 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(BuildExportSourceClosureTaskTest); |
| 39 runReflectiveTests(BuildExportNamespaceTaskTest); | 39 runReflectiveTests(BuildExportNamespaceTaskTest); |
| 40 runReflectiveTests(BuildFunctionTypeAliasesTaskTest); | 40 runReflectiveTests(BuildFunctionTypeAliasesTaskTest); |
| 41 runReflectiveTests(BuildLibraryConstructorsTaskTest); |
| 41 runReflectiveTests(BuildLibraryElementTaskTest); | 42 runReflectiveTests(BuildLibraryElementTaskTest); |
| 42 runReflectiveTests(BuildPublicNamespaceTaskTest); | 43 runReflectiveTests(BuildPublicNamespaceTaskTest); |
| 43 runReflectiveTests(BuildTypeProviderTaskTest); | 44 runReflectiveTests(BuildTypeProviderTaskTest); |
| 44 runReflectiveTests(ParseDartTaskTest); | 45 runReflectiveTests(ParseDartTaskTest); |
| 45 runReflectiveTests(ResolveUnitTypeNamesTaskTest); | 46 runReflectiveTests(ResolveUnitTypeNamesTaskTest); |
| 46 runReflectiveTests(ResolveLibraryTypeNamesTaskTest); | 47 runReflectiveTests(ResolveLibraryTypeNamesTaskTest); |
| 47 runReflectiveTests(ScanDartTaskTest); | 48 runReflectiveTests(ScanDartTaskTest); |
| 48 } | 49 } |
| 49 | 50 |
| 50 @reflectiveTest | 51 @reflectiveTest |
| (...skipping 640 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 691 _computeResult(target, BUILD_FUNCTION_TYPE_ALIASES_ERRORS); | 692 _computeResult(target, BUILD_FUNCTION_TYPE_ALIASES_ERRORS); |
| 692 expect(task, new isInstanceOf<BuildFunctionTypeAliasesTask>()); | 693 expect(task, new isInstanceOf<BuildFunctionTypeAliasesTask>()); |
| 693 // validate | 694 // validate |
| 694 _fillErrorListener(BUILD_FUNCTION_TYPE_ALIASES_ERRORS); | 695 _fillErrorListener(BUILD_FUNCTION_TYPE_ALIASES_ERRORS); |
| 695 errorListener | 696 errorListener |
| 696 .assertErrorsWithCodes(<ErrorCode>[StaticWarningCode.UNDEFINED_CLASS]); | 697 .assertErrorsWithCodes(<ErrorCode>[StaticWarningCode.UNDEFINED_CLASS]); |
| 697 } | 698 } |
| 698 } | 699 } |
| 699 | 700 |
| 700 @reflectiveTest | 701 @reflectiveTest |
| 702 class BuildLibraryConstructorsTaskTest extends _AbstractDartTaskTest { |
| 703 test_perform() { |
| 704 Source source = _newSource('/test.dart', ''' |
| 705 class B { |
| 706 B(int i); |
| 707 } |
| 708 class M1 {} |
| 709 class M2 {} |
| 710 |
| 711 class C2 = C1 with M2; |
| 712 class C1 = B with M1; |
| 713 class C3 = B with M2; |
| 714 '''); |
| 715 _computeResult(source, LIBRARY_ELEMENT6); |
| 716 expect(task, new isInstanceOf<BuildLibraryConstructorsTask>()); |
| 717 LibraryElement libraryElement = outputs[LIBRARY_ELEMENT6]; |
| 718 // C1 |
| 719 { |
| 720 ClassElement classElement = libraryElement.getType('C2'); |
| 721 List<ConstructorElement> constructors = classElement.constructors; |
| 722 expect(constructors, hasLength(1)); |
| 723 expect(constructors[0].parameters, hasLength(1)); |
| 724 } |
| 725 // C3 |
| 726 { |
| 727 ClassElement classElement = libraryElement.getType('C3'); |
| 728 List<ConstructorElement> constructors = classElement.constructors; |
| 729 expect(constructors, hasLength(1)); |
| 730 expect(constructors[0].parameters, hasLength(1)); |
| 731 } |
| 732 } |
| 733 } |
| 734 |
| 735 @reflectiveTest |
| 701 class BuildLibraryElementTaskTest extends _AbstractDartTaskTest { | 736 class BuildLibraryElementTaskTest extends _AbstractDartTaskTest { |
| 702 Source librarySource; | 737 Source librarySource; |
| 703 CompilationUnit libraryUnit; | 738 CompilationUnit libraryUnit; |
| 704 CompilationUnitElement libraryUnitElement; | 739 CompilationUnitElement libraryUnitElement; |
| 705 List<CompilationUnit> partUnits; | 740 List<CompilationUnit> partUnits; |
| 706 | 741 |
| 707 LibraryElement libraryElement; | 742 LibraryElement libraryElement; |
| 708 | 743 |
| 709 test_constructor() { | 744 test_constructor() { |
| 710 BuildLibraryElementTask task = | 745 BuildLibraryElementTask task = |
| (...skipping 29 matching lines...) Expand all Loading... |
| 740 part 'part1.dart'; | 775 part 'part1.dart'; |
| 741 part 'part2.dart'; | 776 part 'part2.dart'; |
| 742 ''', | 777 ''', |
| 743 '/part1.dart': ''' | 778 '/part1.dart': ''' |
| 744 part of lib; | 779 part of lib; |
| 745 ''', | 780 ''', |
| 746 '/part2.dart': ''' | 781 '/part2.dart': ''' |
| 747 part of lib; | 782 part of lib; |
| 748 ''' | 783 ''' |
| 749 }); | 784 }); |
| 750 expect(outputs, hasLength(4)); | 785 expect(outputs, hasLength(5)); |
| 751 // simple outputs | 786 // simple outputs |
| 752 expect(outputs[BUILD_LIBRARY_ERRORS], isEmpty); | 787 expect(outputs[BUILD_LIBRARY_ERRORS], isEmpty); |
| 753 expect(outputs[IS_LAUNCHABLE], isFalse); | 788 expect(outputs[IS_LAUNCHABLE], isFalse); |
| 754 expect(outputs[HAS_HTML_IMPORT], isFalse); | 789 expect(outputs[HAS_HTML_IMPORT], isFalse); |
| 755 // LibraryElement output | 790 // LibraryElement output |
| 756 expect(libraryElement, isNotNull); | 791 expect(libraryElement, isNotNull); |
| 757 expect(libraryElement.entryPoint, isNull); | 792 expect(libraryElement.entryPoint, isNull); |
| 758 expect(libraryElement.source, same(librarySource)); | 793 expect(libraryElement.source, same(librarySource)); |
| 759 expect(libraryElement.definingCompilationUnit, libraryUnitElement); | 794 expect(libraryElement.definingCompilationUnit, libraryUnitElement); |
| 760 expect(libraryElement.parts, | 795 expect(libraryElement.parts, |
| (...skipping 21 matching lines...) Expand all Loading... |
| 782 expect( | 817 expect( |
| 783 (libraryUnit.directives[1] as PartDirective).element, same(firstPart)); | 818 (libraryUnit.directives[1] as PartDirective).element, same(firstPart)); |
| 784 | 819 |
| 785 expect(secondPart.uri, 'part2.dart'); | 820 expect(secondPart.uri, 'part2.dart'); |
| 786 expect(secondPart.uriOffset, 37); | 821 expect(secondPart.uriOffset, 37); |
| 787 expect(secondPart.uriEnd, 49); | 822 expect(secondPart.uriEnd, 49); |
| 788 expect( | 823 expect( |
| 789 (libraryUnit.directives[2] as PartDirective).element, same(secondPart)); | 824 (libraryUnit.directives[2] as PartDirective).element, same(secondPart)); |
| 790 } | 825 } |
| 791 | 826 |
| 827 test_perform_classElements() { |
| 828 _performBuildTask({ |
| 829 '/lib.dart': ''' |
| 830 library lib; |
| 831 part 'part1.dart'; |
| 832 part 'part2.dart'; |
| 833 class A {} |
| 834 ''', |
| 835 '/part1.dart': ''' |
| 836 part of lib; |
| 837 class B {} |
| 838 ''', |
| 839 '/part2.dart': ''' |
| 840 part of lib; |
| 841 class C {} |
| 842 ''' |
| 843 }); |
| 844 List<ClassElement> classElements = outputs[CLASS_ELEMENTS]; |
| 845 List<String> classNames = classElements.map((c) => c.displayName).toList(); |
| 846 expect(classNames, unorderedEquals(['A', 'B', 'C'])); |
| 847 } |
| 848 |
| 792 test_perform_error_missingLibraryDirectiveWithPart_hasCommon() { | 849 test_perform_error_missingLibraryDirectiveWithPart_hasCommon() { |
| 793 _performBuildTask({ | 850 _performBuildTask({ |
| 794 '/lib.dart': ''' | 851 '/lib.dart': ''' |
| 795 part 'partA.dart'; | 852 part 'partA.dart'; |
| 796 part 'partB.dart'; | 853 part 'partB.dart'; |
| 797 ''', | 854 ''', |
| 798 '/partA.dart': ''' | 855 '/partA.dart': ''' |
| 799 part of my_lib; | 856 part of my_lib; |
| 800 ''', | 857 ''', |
| 801 '/partB.dart': ''' | 858 '/partB.dart': ''' |
| (...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1262 context.sourceFactory = new SourceFactory(<UriResolver>[ | 1319 context.sourceFactory = new SourceFactory(<UriResolver>[ |
| 1263 new DartUriResolver(sdk), | 1320 new DartUriResolver(sdk), |
| 1264 new ResourceUriResolver(resourceProvider) | 1321 new ResourceUriResolver(resourceProvider) |
| 1265 ]); | 1322 ]); |
| 1266 // prepare TaskManager | 1323 // prepare TaskManager |
| 1267 taskManager.addTaskDescriptor(GetContentTask.DESCRIPTOR); | 1324 taskManager.addTaskDescriptor(GetContentTask.DESCRIPTOR); |
| 1268 taskManager.addTaskDescriptor(ScanDartTask.DESCRIPTOR); | 1325 taskManager.addTaskDescriptor(ScanDartTask.DESCRIPTOR); |
| 1269 taskManager.addTaskDescriptor(ParseDartTask.DESCRIPTOR); | 1326 taskManager.addTaskDescriptor(ParseDartTask.DESCRIPTOR); |
| 1270 taskManager.addTaskDescriptor(BuildClassConstructorsTask.DESCRIPTOR); | 1327 taskManager.addTaskDescriptor(BuildClassConstructorsTask.DESCRIPTOR); |
| 1271 taskManager.addTaskDescriptor(BuildCompilationUnitElementTask.DESCRIPTOR); | 1328 taskManager.addTaskDescriptor(BuildCompilationUnitElementTask.DESCRIPTOR); |
| 1329 taskManager.addTaskDescriptor(BuildLibraryConstructorsTask.DESCRIPTOR); |
| 1272 taskManager.addTaskDescriptor(BuildLibraryElementTask.DESCRIPTOR); | 1330 taskManager.addTaskDescriptor(BuildLibraryElementTask.DESCRIPTOR); |
| 1273 taskManager.addTaskDescriptor(BuildPublicNamespaceTask.DESCRIPTOR); | 1331 taskManager.addTaskDescriptor(BuildPublicNamespaceTask.DESCRIPTOR); |
| 1274 taskManager.addTaskDescriptor(BuildDirectiveElementsTask.DESCRIPTOR); | 1332 taskManager.addTaskDescriptor(BuildDirectiveElementsTask.DESCRIPTOR); |
| 1275 taskManager.addTaskDescriptor(BuildExportSourceClosureTask.DESCRIPTOR); | 1333 taskManager.addTaskDescriptor(BuildExportSourceClosureTask.DESCRIPTOR); |
| 1276 taskManager.addTaskDescriptor(BuildExportNamespaceTask.DESCRIPTOR); | 1334 taskManager.addTaskDescriptor(BuildExportNamespaceTask.DESCRIPTOR); |
| 1277 taskManager.addTaskDescriptor(BuildTypeProviderTask.DESCRIPTOR); | 1335 taskManager.addTaskDescriptor(BuildTypeProviderTask.DESCRIPTOR); |
| 1278 taskManager.addTaskDescriptor(BuildEnumMemberElementsTask.DESCRIPTOR); | 1336 taskManager.addTaskDescriptor(BuildEnumMemberElementsTask.DESCRIPTOR); |
| 1279 taskManager.addTaskDescriptor(BuildFunctionTypeAliasesTask.DESCRIPTOR); | 1337 taskManager.addTaskDescriptor(BuildFunctionTypeAliasesTask.DESCRIPTOR); |
| 1280 taskManager.addTaskDescriptor(ResolveUnitTypeNamesTask.DESCRIPTOR); | 1338 taskManager.addTaskDescriptor(ResolveUnitTypeNamesTask.DESCRIPTOR); |
| 1281 taskManager.addTaskDescriptor(ResolveLibraryTypeNamesTask.DESCRIPTOR); | 1339 taskManager.addTaskDescriptor(ResolveLibraryTypeNamesTask.DESCRIPTOR); |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1331 return entryMap.putIfAbsent(target, () => new CacheEntry()); | 1389 return entryMap.putIfAbsent(target, () => new CacheEntry()); |
| 1332 } | 1390 } |
| 1333 | 1391 |
| 1334 TimestampedData<String> getContents(Source source) => source.contents; | 1392 TimestampedData<String> getContents(Source source) => source.contents; |
| 1335 | 1393 |
| 1336 noSuchMethod(Invocation invocation) { | 1394 noSuchMethod(Invocation invocation) { |
| 1337 print('noSuchMethod: ${invocation.memberName}'); | 1395 print('noSuchMethod: ${invocation.memberName}'); |
| 1338 return super.noSuchMethod(invocation); | 1396 return super.noSuchMethod(invocation); |
| 1339 } | 1397 } |
| 1340 } | 1398 } |
| OLD | NEW |