| 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 19 matching lines...) Expand all Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |