| 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 import '../../reflective_tests.dart'; | 31 import '../../reflective_tests.dart'; |
| 32 import '../mock_sdk.dart'; | 32 import '../mock_sdk.dart'; |
| 33 | 33 |
| 34 main() { | 34 main() { |
| 35 groupSep = ' | '; | 35 groupSep = ' | '; |
| 36 runReflectiveTests(BuildCompilationUnitElementTaskTest); | 36 runReflectiveTests(BuildCompilationUnitElementTaskTest); |
| 37 runReflectiveTests(BuildDirectiveElementsTaskTest); | 37 runReflectiveTests(BuildDirectiveElementsTaskTest); |
| 38 runReflectiveTests(BuildEnumMemberElementsTaskTest); | 38 runReflectiveTests(BuildEnumMemberElementsTaskTest); |
| 39 runReflectiveTests(BuildExportSourceClosureTaskTest); | 39 runReflectiveTests(BuildExportSourceClosureTaskTest); |
| 40 runReflectiveTests(BuildExportNamespaceTaskTest); | 40 runReflectiveTests(BuildExportNamespaceTaskTest); |
| 41 runReflectiveTests(BuildFunctionTypeAliasesTaskTest); |
| 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(ScanDartTaskTest); | 46 runReflectiveTests(ScanDartTaskTest); |
| 46 } | 47 } |
| 47 | 48 |
| 48 @reflectiveTest | 49 @reflectiveTest |
| 49 class BuildCompilationUnitElementTaskTest extends _AbstractDartTaskTest { | 50 class BuildCompilationUnitElementTaskTest extends _AbstractDartTaskTest { |
| 50 test_buildInputs() { | 51 test_buildInputs() { |
| (...skipping 521 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 572 { | 573 { |
| 573 _computeResult(sourceD, EXPORT_SOURCE_CLOSURE); | 574 _computeResult(sourceD, EXPORT_SOURCE_CLOSURE); |
| 574 expect(task, new isInstanceOf<BuildExportSourceClosureTask>()); | 575 expect(task, new isInstanceOf<BuildExportSourceClosureTask>()); |
| 575 List<Source> closure = outputs[EXPORT_SOURCE_CLOSURE]; | 576 List<Source> closure = outputs[EXPORT_SOURCE_CLOSURE]; |
| 576 expect(closure, unorderedEquals([sourceD])); | 577 expect(closure, unorderedEquals([sourceD])); |
| 577 } | 578 } |
| 578 } | 579 } |
| 579 } | 580 } |
| 580 | 581 |
| 581 @reflectiveTest | 582 @reflectiveTest |
| 583 class BuildFunctionTypeAliasesTaskTest extends _AbstractDartTaskTest { |
| 584 test_perform() { |
| 585 Source source = _newSource('/test.dart', ''' |
| 586 typedef int F(G g); |
| 587 typedef String G(int p); |
| 588 '''); |
| 589 LibraryUnitTarget target = new LibraryUnitTarget(source, source); |
| 590 _computeResult(target, RESOLVED_UNIT5); |
| 591 expect(task, new isInstanceOf<BuildFunctionTypeAliasesTask>()); |
| 592 // validate |
| 593 CompilationUnit unit = outputs[RESOLVED_UNIT5]; |
| 594 FunctionTypeAlias nodeF = unit.declarations[0]; |
| 595 FunctionTypeAlias nodeG = unit.declarations[1]; |
| 596 { |
| 597 FormalParameter parameter = nodeF.parameters.parameters[0]; |
| 598 DartType parameterType = parameter.element.type; |
| 599 Element returnTypeElement = nodeF.returnType.type.element; |
| 600 expect(returnTypeElement.displayName, 'int'); |
| 601 expect(parameterType.element, nodeG.element); |
| 602 } |
| 603 { |
| 604 FormalParameter parameter = nodeG.parameters.parameters[0]; |
| 605 DartType parameterType = parameter.element.type; |
| 606 expect(nodeG.returnType.type.element.displayName, 'String'); |
| 607 expect(parameterType.element.displayName, 'int'); |
| 608 } |
| 609 } |
| 610 |
| 611 test_perform_errors() { |
| 612 Source source = _newSource('/test.dart', ''' |
| 613 typedef int F(NoSuchType p); |
| 614 '''); |
| 615 LibraryUnitTarget target = new LibraryUnitTarget(source, source); |
| 616 _computeResult(target, BUILD_FUNCTION_TYPE_ALIASES_ERRORS); |
| 617 expect(task, new isInstanceOf<BuildFunctionTypeAliasesTask>()); |
| 618 // validate |
| 619 _fillErrorListener(BUILD_FUNCTION_TYPE_ALIASES_ERRORS); |
| 620 errorListener |
| 621 .assertErrorsWithCodes(<ErrorCode>[StaticWarningCode.UNDEFINED_CLASS]); |
| 622 } |
| 623 } |
| 624 |
| 625 @reflectiveTest |
| 582 class BuildLibraryElementTaskTest extends _AbstractDartTaskTest { | 626 class BuildLibraryElementTaskTest extends _AbstractDartTaskTest { |
| 583 Source librarySource; | 627 Source librarySource; |
| 584 CompilationUnit libraryUnit; | 628 CompilationUnit libraryUnit; |
| 585 CompilationUnitElement libraryUnitElement; | 629 CompilationUnitElement libraryUnitElement; |
| 586 List<CompilationUnit> partUnits; | 630 List<CompilationUnit> partUnits; |
| 587 | 631 |
| 588 LibraryElement libraryElement; | 632 LibraryElement libraryElement; |
| 589 | 633 |
| 590 test_constructor() { | 634 test_constructor() { |
| 591 BuildLibraryElementTask task = | 635 BuildLibraryElementTask task = |
| (...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1073 taskManager.addTaskDescriptor(ScanDartTask.DESCRIPTOR); | 1117 taskManager.addTaskDescriptor(ScanDartTask.DESCRIPTOR); |
| 1074 taskManager.addTaskDescriptor(ParseDartTask.DESCRIPTOR); | 1118 taskManager.addTaskDescriptor(ParseDartTask.DESCRIPTOR); |
| 1075 taskManager.addTaskDescriptor(BuildCompilationUnitElementTask.DESCRIPTOR); | 1119 taskManager.addTaskDescriptor(BuildCompilationUnitElementTask.DESCRIPTOR); |
| 1076 taskManager.addTaskDescriptor(BuildLibraryElementTask.DESCRIPTOR); | 1120 taskManager.addTaskDescriptor(BuildLibraryElementTask.DESCRIPTOR); |
| 1077 taskManager.addTaskDescriptor(BuildPublicNamespaceTask.DESCRIPTOR); | 1121 taskManager.addTaskDescriptor(BuildPublicNamespaceTask.DESCRIPTOR); |
| 1078 taskManager.addTaskDescriptor(BuildDirectiveElementsTask.DESCRIPTOR); | 1122 taskManager.addTaskDescriptor(BuildDirectiveElementsTask.DESCRIPTOR); |
| 1079 taskManager.addTaskDescriptor(BuildExportSourceClosureTask.DESCRIPTOR); | 1123 taskManager.addTaskDescriptor(BuildExportSourceClosureTask.DESCRIPTOR); |
| 1080 taskManager.addTaskDescriptor(BuildExportNamespaceTask.DESCRIPTOR); | 1124 taskManager.addTaskDescriptor(BuildExportNamespaceTask.DESCRIPTOR); |
| 1081 taskManager.addTaskDescriptor(BuildTypeProviderTask.DESCRIPTOR); | 1125 taskManager.addTaskDescriptor(BuildTypeProviderTask.DESCRIPTOR); |
| 1082 taskManager.addTaskDescriptor(BuildEnumMemberElementsTask.DESCRIPTOR); | 1126 taskManager.addTaskDescriptor(BuildEnumMemberElementsTask.DESCRIPTOR); |
| 1127 taskManager.addTaskDescriptor(BuildFunctionTypeAliasesTask.DESCRIPTOR); |
| 1083 // prepare AnalysisDriver | 1128 // prepare AnalysisDriver |
| 1084 analysisDriver = new AnalysisDriver(taskManager, context); | 1129 analysisDriver = new AnalysisDriver(taskManager, context); |
| 1085 } | 1130 } |
| 1086 | 1131 |
| 1087 void _computeResult(AnalysisTarget target, ResultDescriptor result) { | 1132 void _computeResult(AnalysisTarget target, ResultDescriptor result) { |
| 1088 task = analysisDriver.computeResult(target, result); | 1133 task = analysisDriver.computeResult(target, result); |
| 1089 expect(task.caughtException, isNull); | 1134 expect(task.caughtException, isNull); |
| 1090 outputs = task.outputs; | 1135 outputs = task.outputs; |
| 1091 } | 1136 } |
| 1092 | 1137 |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1132 return entryMap.putIfAbsent(target, () => new CacheEntry()); | 1177 return entryMap.putIfAbsent(target, () => new CacheEntry()); |
| 1133 } | 1178 } |
| 1134 | 1179 |
| 1135 TimestampedData<String> getContents(Source source) => source.contents; | 1180 TimestampedData<String> getContents(Source source) => source.contents; |
| 1136 | 1181 |
| 1137 noSuchMethod(Invocation invocation) { | 1182 noSuchMethod(Invocation invocation) { |
| 1138 print('noSuchMethod: ${invocation.memberName}'); | 1183 print('noSuchMethod: ${invocation.memberName}'); |
| 1139 return super.noSuchMethod(invocation); | 1184 return super.noSuchMethod(invocation); |
| 1140 } | 1185 } |
| 1141 } | 1186 } |
| OLD | NEW |