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

Side by Side Diff: pkg/analyzer/test/src/task/dart_test.dart

Issue 1012403002: Task: Build Type Aliases. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Simplify import scope computation for the new task model. 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 | Annotate | Revision Log
« no previous file with comments | « pkg/analyzer/lib/src/task/dart.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 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
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
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
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
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 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/task/dart.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698