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

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

Issue 1009033002: Compute TYPE_PROVIDER using BuildTypeProviderTask. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: 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
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 19 matching lines...) Expand all
30 import '../../generated/test_support.dart'; 30 import '../../generated/test_support.dart';
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(BuildLibraryElementTaskTest); 38 runReflectiveTests(BuildLibraryElementTaskTest);
39 runReflectiveTests(BuildPublicNamespaceTaskTest); 39 runReflectiveTests(BuildPublicNamespaceTaskTest);
40 runReflectiveTests(BuildTypeProviderTaskTest);
40 runReflectiveTests(ParseDartTaskTest); 41 runReflectiveTests(ParseDartTaskTest);
41 runReflectiveTests(ScanDartTaskTest); 42 runReflectiveTests(ScanDartTaskTest);
42 } 43 }
43 44
44 @reflectiveTest 45 @reflectiveTest
45 class BuildCompilationUnitElementTaskTest extends _AbstractDartTaskTest { 46 class BuildCompilationUnitElementTaskTest extends _AbstractDartTaskTest {
46 test_buildInputs() { 47 test_buildInputs() {
47 Map<String, TaskInput> inputs = 48 Map<String, TaskInput> inputs =
48 BuildCompilationUnitElementTask.buildInputs(emptySource); 49 BuildCompilationUnitElementTask.buildInputs(emptySource);
49 expect(inputs, isNotNull); 50 expect(inputs, isNotNull);
(...skipping 616 matching lines...) Expand 10 before | Expand all | Expand 10 after
666 }); 667 });
667 _computeResult(sources.first, PUBLIC_NAMESPACE); 668 _computeResult(sources.first, PUBLIC_NAMESPACE);
668 expect(task, new isInstanceOf<BuildPublicNamespaceTask>()); 669 expect(task, new isInstanceOf<BuildPublicNamespaceTask>());
669 // validate 670 // validate
670 Namespace namespace = outputs[PUBLIC_NAMESPACE]; 671 Namespace namespace = outputs[PUBLIC_NAMESPACE];
671 expect(namespace.definedNames.keys, unorderedEquals(['a', 'd'])); 672 expect(namespace.definedNames.keys, unorderedEquals(['a', 'd']));
672 } 673 }
673 } 674 }
674 675
675 @reflectiveTest 676 @reflectiveTest
677 class BuildTypeProviderTaskTest extends _AbstractDartTaskTest {
678 test_perform() {
679 _computeResult(AnalysisContextTarget.request, TYPE_PROVIDER);
680 expect(task, new isInstanceOf<BuildTypeProviderTask>());
681 // validate
682 TypeProvider typeProvider = outputs[TYPE_PROVIDER];
683 expect(typeProvider, isNotNull);
684 expect(typeProvider.boolType, isNotNull);
685 expect(typeProvider.intType, isNotNull);
686 expect(typeProvider.futureType, isNotNull);
687 }
688 }
689
690 @reflectiveTest
676 class ParseDartTaskTest extends _AbstractDartTaskTest { 691 class ParseDartTaskTest extends _AbstractDartTaskTest {
677 test_buildInputs() { 692 test_buildInputs() {
678 Map<String, TaskInput> inputs = ParseDartTask.buildInputs(emptySource); 693 Map<String, TaskInput> inputs = ParseDartTask.buildInputs(emptySource);
679 expect(inputs, isNotNull); 694 expect(inputs, isNotNull);
680 expect(inputs.keys, unorderedEquals([ 695 expect(inputs.keys, unorderedEquals([
681 ParseDartTask.LINE_INFO_INPUT_NAME, 696 ParseDartTask.LINE_INFO_INPUT_NAME,
682 ParseDartTask.TOKEN_STREAM_INPUT_NAME 697 ParseDartTask.TOKEN_STREAM_INPUT_NAME
683 ])); 698 ]));
684 } 699 }
685 700
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
848 new DartUriResolver(sdk), 863 new DartUriResolver(sdk),
849 new ResourceUriResolver(resourceProvider) 864 new ResourceUriResolver(resourceProvider)
850 ]); 865 ]);
851 // prepare TaskManager 866 // prepare TaskManager
852 taskManager.addTaskDescriptor(GetContentTask.DESCRIPTOR); 867 taskManager.addTaskDescriptor(GetContentTask.DESCRIPTOR);
853 taskManager.addTaskDescriptor(ScanDartTask.DESCRIPTOR); 868 taskManager.addTaskDescriptor(ScanDartTask.DESCRIPTOR);
854 taskManager.addTaskDescriptor(ParseDartTask.DESCRIPTOR); 869 taskManager.addTaskDescriptor(ParseDartTask.DESCRIPTOR);
855 taskManager.addTaskDescriptor(BuildCompilationUnitElementTask.DESCRIPTOR); 870 taskManager.addTaskDescriptor(BuildCompilationUnitElementTask.DESCRIPTOR);
856 taskManager.addTaskDescriptor(BuildLibraryElementTask.DESCRIPTOR); 871 taskManager.addTaskDescriptor(BuildLibraryElementTask.DESCRIPTOR);
857 taskManager.addTaskDescriptor(BuildPublicNamespaceTask.DESCRIPTOR); 872 taskManager.addTaskDescriptor(BuildPublicNamespaceTask.DESCRIPTOR);
873 taskManager.addTaskDescriptor(BuildTypeProviderTask.DESCRIPTOR);
858 taskManager.addTaskDescriptor(BuildDirectiveElementsTask.DESCRIPTOR); 874 taskManager.addTaskDescriptor(BuildDirectiveElementsTask.DESCRIPTOR);
859 // prepare AnalysisDriver 875 // prepare AnalysisDriver
860 analysisDriver = new AnalysisDriver(taskManager, context); 876 analysisDriver = new AnalysisDriver(taskManager, context);
861 } 877 }
862 878
863 void _computeResult(AnalysisTarget target, ResultDescriptor result) { 879 void _computeResult(AnalysisTarget target, ResultDescriptor result) {
864 task = analysisDriver.computeResult(target, result); 880 task = analysisDriver.computeResult(target, result);
881 expect(task.caughtException, isNull);
865 outputs = task.outputs; 882 outputs = task.outputs;
866 } 883 }
867 884
868 /** 885 /**
869 * Fill [errorListener] with [result] errors in the current [task]. 886 * Fill [errorListener] with [result] errors in the current [task].
870 */ 887 */
871 void _fillErrorListener(ResultDescriptor<List<AnalysisError>> result) { 888 void _fillErrorListener(ResultDescriptor<List<AnalysisError>> result) {
872 List<AnalysisError> errors = task.outputs[result]; 889 List<AnalysisError> errors = task.outputs[result];
873 expect(errors, isNotNull, reason: result.name); 890 expect(errors, isNotNull, reason: result.name);
874 errorListener = new GatheringErrorListener(); 891 errorListener = new GatheringErrorListener();
(...skipping 12 matching lines...) Expand all
887 Source source = file.createSource(); 904 Source source = file.createSource();
888 sources.add(source); 905 sources.add(source);
889 }); 906 });
890 return sources; 907 return sources;
891 } 908 }
892 } 909 }
893 910
894 class _MockContext extends TypedMock implements ExtendedAnalysisContext { 911 class _MockContext extends TypedMock implements ExtendedAnalysisContext {
895 AnalysisOptionsImpl analysisOptions = new AnalysisOptionsImpl(); 912 AnalysisOptionsImpl analysisOptions = new AnalysisOptionsImpl();
896 SourceFactory sourceFactory; 913 SourceFactory sourceFactory;
914 TypeProvider typeProvider;
897 915
898 Map<AnalysisTarget, CacheEntry> entryMap = <AnalysisTarget, CacheEntry>{}; 916 Map<AnalysisTarget, CacheEntry> entryMap = <AnalysisTarget, CacheEntry>{};
899 917
900 String get name => '_MockContext'; 918 String get name => '_MockContext';
901 919
902 bool exists(Source source) => source.exists(); 920 bool exists(Source source) => source.exists();
903 921
904 @override 922 @override
905 CacheEntry getCacheEntry(AnalysisTarget target) { 923 CacheEntry getCacheEntry(AnalysisTarget target) {
906 return entryMap.putIfAbsent(target, () => new CacheEntry()); 924 return entryMap.putIfAbsent(target, () => new CacheEntry());
907 } 925 }
908 926
909 TimestampedData<String> getContents(Source source) => source.contents; 927 TimestampedData<String> getContents(Source source) => source.contents;
910 928
911 noSuchMethod(Invocation invocation) { 929 noSuchMethod(Invocation invocation) {
912 print('noSuchMethod: ${invocation.memberName}'); 930 print('noSuchMethod: ${invocation.memberName}');
913 return super.noSuchMethod(invocation); 931 return super.noSuchMethod(invocation);
914 } 932 }
915 } 933 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698