| 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 524 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 575 { | 576 { |
| 576 _computeResult(sourceD, EXPORT_SOURCE_CLOSURE); | 577 _computeResult(sourceD, EXPORT_SOURCE_CLOSURE); |
| 577 expect(task, new isInstanceOf<BuildExportSourceClosureTask>()); | 578 expect(task, new isInstanceOf<BuildExportSourceClosureTask>()); |
| 578 List<Source> closure = outputs[EXPORT_SOURCE_CLOSURE]; | 579 List<Source> closure = outputs[EXPORT_SOURCE_CLOSURE]; |
| 579 expect(closure, unorderedEquals([sourceD])); | 580 expect(closure, unorderedEquals([sourceD])); |
| 580 } | 581 } |
| 581 } | 582 } |
| 582 } | 583 } |
| 583 | 584 |
| 584 @reflectiveTest | 585 @reflectiveTest |
| 586 class BuildFunctionTypeAliasesTaskTest extends _AbstractDartTaskTest { |
| 587 test_perform() { |
| 588 Source source = _newSource('/test.dart', ''' |
| 589 typedef int F(G g); |
| 590 typedef String G(int p); |
| 591 '''); |
| 592 LibraryUnitTarget target = new LibraryUnitTarget(source, source); |
| 593 _computeResult(target, RESOLVED_UNIT5); |
| 594 expect(task, new isInstanceOf<BuildFunctionTypeAliasesTask>()); |
| 595 // validate |
| 596 CompilationUnit unit = outputs[RESOLVED_UNIT5]; |
| 597 FunctionTypeAlias nodeF = unit.declarations[0]; |
| 598 FunctionTypeAlias nodeG = unit.declarations[1]; |
| 599 { |
| 600 FormalParameter parameter = nodeF.parameters.parameters[0]; |
| 601 DartType parameterType = parameter.element.type; |
| 602 Element returnTypeElement = nodeF.returnType.type.element; |
| 603 expect(returnTypeElement.displayName, 'int'); |
| 604 expect(parameterType.element, nodeG.element); |
| 605 } |
| 606 { |
| 607 FormalParameter parameter = nodeG.parameters.parameters[0]; |
| 608 DartType parameterType = parameter.element.type; |
| 609 expect(nodeG.returnType.type.element.displayName, 'String'); |
| 610 expect(parameterType.element.displayName, 'int'); |
| 611 } |
| 612 } |
| 613 |
| 614 test_perform_errors() { |
| 615 Source source = _newSource('/test.dart', ''' |
| 616 typedef int F(NoSuchType p); |
| 617 '''); |
| 618 LibraryUnitTarget target = new LibraryUnitTarget(source, source); |
| 619 _computeResult(target, BUILD_FUNCTION_TYPE_ALIASES_ERRORS); |
| 620 expect(task, new isInstanceOf<BuildFunctionTypeAliasesTask>()); |
| 621 // validate |
| 622 _fillErrorListener(BUILD_FUNCTION_TYPE_ALIASES_ERRORS); |
| 623 errorListener |
| 624 .assertErrorsWithCodes(<ErrorCode>[StaticWarningCode.UNDEFINED_CLASS]); |
| 625 } |
| 626 } |
| 627 |
| 628 @reflectiveTest |
| 585 class BuildLibraryElementTaskTest extends _AbstractDartTaskTest { | 629 class BuildLibraryElementTaskTest extends _AbstractDartTaskTest { |
| 586 Source librarySource; | 630 Source librarySource; |
| 587 CompilationUnit libraryUnit; | 631 CompilationUnit libraryUnit; |
| 588 CompilationUnitElement libraryUnitElement; | 632 CompilationUnitElement libraryUnitElement; |
| 589 List<CompilationUnit> partUnits; | 633 List<CompilationUnit> partUnits; |
| 590 | 634 |
| 591 LibraryElement libraryElement; | 635 LibraryElement libraryElement; |
| 592 | 636 |
| 593 test_constructor() { | 637 test_constructor() { |
| 594 BuildLibraryElementTask task = | 638 BuildLibraryElementTask task = |
| (...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1077 taskManager.addTaskDescriptor(ScanDartTask.DESCRIPTOR); | 1121 taskManager.addTaskDescriptor(ScanDartTask.DESCRIPTOR); |
| 1078 taskManager.addTaskDescriptor(ParseDartTask.DESCRIPTOR); | 1122 taskManager.addTaskDescriptor(ParseDartTask.DESCRIPTOR); |
| 1079 taskManager.addTaskDescriptor(BuildCompilationUnitElementTask.DESCRIPTOR); | 1123 taskManager.addTaskDescriptor(BuildCompilationUnitElementTask.DESCRIPTOR); |
| 1080 taskManager.addTaskDescriptor(BuildLibraryElementTask.DESCRIPTOR); | 1124 taskManager.addTaskDescriptor(BuildLibraryElementTask.DESCRIPTOR); |
| 1081 taskManager.addTaskDescriptor(BuildPublicNamespaceTask.DESCRIPTOR); | 1125 taskManager.addTaskDescriptor(BuildPublicNamespaceTask.DESCRIPTOR); |
| 1082 taskManager.addTaskDescriptor(BuildDirectiveElementsTask.DESCRIPTOR); | 1126 taskManager.addTaskDescriptor(BuildDirectiveElementsTask.DESCRIPTOR); |
| 1083 taskManager.addTaskDescriptor(BuildExportSourceClosureTask.DESCRIPTOR); | 1127 taskManager.addTaskDescriptor(BuildExportSourceClosureTask.DESCRIPTOR); |
| 1084 taskManager.addTaskDescriptor(BuildExportNamespaceTask.DESCRIPTOR); | 1128 taskManager.addTaskDescriptor(BuildExportNamespaceTask.DESCRIPTOR); |
| 1085 taskManager.addTaskDescriptor(BuildTypeProviderTask.DESCRIPTOR); | 1129 taskManager.addTaskDescriptor(BuildTypeProviderTask.DESCRIPTOR); |
| 1086 taskManager.addTaskDescriptor(BuildEnumMemberElementsTask.DESCRIPTOR); | 1130 taskManager.addTaskDescriptor(BuildEnumMemberElementsTask.DESCRIPTOR); |
| 1131 taskManager.addTaskDescriptor(BuildFunctionTypeAliasesTask.DESCRIPTOR); |
| 1087 // prepare AnalysisDriver | 1132 // prepare AnalysisDriver |
| 1088 analysisDriver = new AnalysisDriver(taskManager, context); | 1133 analysisDriver = new AnalysisDriver(taskManager, context); |
| 1089 } | 1134 } |
| 1090 | 1135 |
| 1091 void _computeResult(AnalysisTarget target, ResultDescriptor result) { | 1136 void _computeResult(AnalysisTarget target, ResultDescriptor result) { |
| 1092 task = analysisDriver.computeResult(target, result); | 1137 task = analysisDriver.computeResult(target, result); |
| 1093 expect(task.caughtException, isNull); | 1138 expect(task.caughtException, isNull); |
| 1094 outputs = task.outputs; | 1139 outputs = task.outputs; |
| 1095 } | 1140 } |
| 1096 | 1141 |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1136 return entryMap.putIfAbsent(target, () => new CacheEntry()); | 1181 return entryMap.putIfAbsent(target, () => new CacheEntry()); |
| 1137 } | 1182 } |
| 1138 | 1183 |
| 1139 TimestampedData<String> getContents(Source source) => source.contents; | 1184 TimestampedData<String> getContents(Source source) => source.contents; |
| 1140 | 1185 |
| 1141 noSuchMethod(Invocation invocation) { | 1186 noSuchMethod(Invocation invocation) { |
| 1142 print('noSuchMethod: ${invocation.memberName}'); | 1187 print('noSuchMethod: ${invocation.memberName}'); |
| 1143 return super.noSuchMethod(invocation); | 1188 return super.noSuchMethod(invocation); |
| 1144 } | 1189 } |
| 1145 } | 1190 } |
| OLD | NEW |