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

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

Issue 1095013002: Use ExtensionManager and EnginePlugin to configure task list. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Update the version to publish. Created 5 years, 8 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/pubspec.yaml ('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/plugin/plugin.dart';
10 import 'package:analyzer/plugin/task.dart';
9 import 'package:analyzer/src/context/cache.dart'; 11 import 'package:analyzer/src/context/cache.dart';
10 import 'package:analyzer/src/generated/ast.dart'; 12 import 'package:analyzer/src/generated/ast.dart';
11 import 'package:analyzer/src/generated/element.dart'; 13 import 'package:analyzer/src/generated/element.dart';
12 import 'package:analyzer/src/generated/engine.dart' 14 import 'package:analyzer/src/generated/engine.dart'
13 hide AnalysisTask, GetContentTask, ParseDartTask, ScanDartTask; 15 hide AnalysisTask, GetContentTask, ParseDartTask, ScanDartTask;
14 import 'package:analyzer/src/generated/error.dart'; 16 import 'package:analyzer/src/generated/error.dart';
15 import 'package:analyzer/src/generated/resolver.dart'; 17 import 'package:analyzer/src/generated/resolver.dart';
16 import 'package:analyzer/src/generated/sdk.dart'; 18 import 'package:analyzer/src/generated/sdk.dart';
17 import 'package:analyzer/src/generated/source.dart'; 19 import 'package:analyzer/src/generated/source.dart';
20 import 'package:analyzer/src/plugin/engine_plugin.dart';
21 import 'package:analyzer/src/plugin/plugin_impl.dart';
18 import 'package:analyzer/src/task/dart.dart'; 22 import 'package:analyzer/src/task/dart.dart';
19 import 'package:analyzer/src/task/driver.dart'; 23 import 'package:analyzer/src/task/driver.dart';
20 import 'package:analyzer/src/task/general.dart';
21 import 'package:analyzer/src/task/manager.dart'; 24 import 'package:analyzer/src/task/manager.dart';
22 import 'package:analyzer/task/dart.dart'; 25 import 'package:analyzer/task/dart.dart';
23 import 'package:analyzer/task/general.dart'; 26 import 'package:analyzer/task/general.dart';
24 import 'package:analyzer/task/model.dart'; 27 import 'package:analyzer/task/model.dart';
25 import 'package:typed_mock/typed_mock.dart'; 28 import 'package:typed_mock/typed_mock.dart';
26 import 'package:unittest/unittest.dart'; 29 import 'package:unittest/unittest.dart';
27 30
28 import '../../generated/test_support.dart'; 31 import '../../generated/test_support.dart';
29 import '../../reflective_tests.dart'; 32 import '../../reflective_tests.dart';
30 import '../mock_sdk.dart'; 33 import '../mock_sdk.dart';
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 expect(task, new isInstanceOf<BuildClassConstructorsTask>()); 159 expect(task, new isInstanceOf<BuildClassConstructorsTask>());
157 _fillErrorListener(CONSTRUCTORS_ERRORS); 160 _fillErrorListener(CONSTRUCTORS_ERRORS);
158 errorListener.assertErrorsWithCodes( 161 errorListener.assertErrorsWithCodes(
159 <ErrorCode>[CompileTimeErrorCode.MIXIN_HAS_NO_CONSTRUCTORS]); 162 <ErrorCode>[CompileTimeErrorCode.MIXIN_HAS_NO_CONSTRUCTORS]);
160 } 163 }
161 } 164 }
162 165
163 @reflectiveTest 166 @reflectiveTest
164 class BuildCompilationUnitElementTaskTest extends _AbstractDartTaskTest { 167 class BuildCompilationUnitElementTaskTest extends _AbstractDartTaskTest {
165 test_buildInputs() { 168 test_buildInputs() {
166 LibrarySpecificUnit target = new LibrarySpecificUnit(emptySource, emptySourc e); 169 LibrarySpecificUnit target =
170 new LibrarySpecificUnit(emptySource, emptySource);
167 Map<String, TaskInput> inputs = 171 Map<String, TaskInput> inputs =
168 BuildCompilationUnitElementTask.buildInputs(target); 172 BuildCompilationUnitElementTask.buildInputs(target);
169 expect(inputs, isNotNull); 173 expect(inputs, isNotNull);
170 expect(inputs.keys, unorderedEquals( 174 expect(inputs.keys, unorderedEquals(
171 [BuildCompilationUnitElementTask.PARSED_UNIT_INPUT_NAME])); 175 [BuildCompilationUnitElementTask.PARSED_UNIT_INPUT_NAME]));
172 } 176 }
173 177
174 test_constructor() { 178 test_constructor() {
175 BuildCompilationUnitElementTask task = 179 BuildCompilationUnitElementTask task =
176 new BuildCompilationUnitElementTask(context, emptySource); 180 new BuildCompilationUnitElementTask(context, emptySource);
(...skipping 1649 matching lines...) Expand 10 before | Expand all | Expand 10 after
1826 } 1830 }
1827 1831
1828 class _AbstractDartTaskTest extends EngineTestCase { 1832 class _AbstractDartTaskTest extends EngineTestCase {
1829 MemoryResourceProvider resourceProvider = new MemoryResourceProvider(); 1833 MemoryResourceProvider resourceProvider = new MemoryResourceProvider();
1830 Source emptySource; 1834 Source emptySource;
1831 1835
1832 DartSdk sdk = new MockSdk(); 1836 DartSdk sdk = new MockSdk();
1833 _MockContext context = new _MockContext(); 1837 _MockContext context = new _MockContext();
1834 Map<AnalysisTarget, CacheEntry> entryMap = <AnalysisTarget, CacheEntry>{}; 1838 Map<AnalysisTarget, CacheEntry> entryMap = <AnalysisTarget, CacheEntry>{};
1835 1839
1840 ExtensionManager extensionManager = new ExtensionManager();
1841
1836 TaskManager taskManager = new TaskManager(); 1842 TaskManager taskManager = new TaskManager();
1837 AnalysisDriver analysisDriver; 1843 AnalysisDriver analysisDriver;
1838 1844
1839 AnalysisTask task; 1845 AnalysisTask task;
1840 Map<ResultDescriptor<dynamic>, dynamic> outputs; 1846 Map<ResultDescriptor<dynamic>, dynamic> outputs;
1841 GatheringErrorListener errorListener = new GatheringErrorListener(); 1847 GatheringErrorListener errorListener = new GatheringErrorListener();
1842 1848
1843 CacheEntry getCacheEntry(AnalysisTarget target) { 1849 CacheEntry getCacheEntry(AnalysisTarget target) {
1844 return entryMap.putIfAbsent(target, () => new CacheEntry()); 1850 return entryMap.putIfAbsent(target, () => new CacheEntry());
1845 } 1851 }
1846 1852
1847 void setUp() { 1853 void setUp() {
1848 emptySource = _newSource('/test.dart'); 1854 emptySource = _newSource('/test.dart');
1849 // prepare AnalysisContext 1855 // prepare AnalysisContext
1850 context.sourceFactory = new SourceFactory(<UriResolver>[ 1856 context.sourceFactory = new SourceFactory(<UriResolver>[
1851 new DartUriResolver(sdk), 1857 new DartUriResolver(sdk),
1852 new ResourceUriResolver(resourceProvider) 1858 new ResourceUriResolver(resourceProvider)
1853 ]); 1859 ]);
1860 // prepare ExtensionManager
1861 extensionManager.processPlugins([new EnginePlugin()]);
1854 // prepare TaskManager 1862 // prepare TaskManager
1855 taskManager.addTaskDescriptor(GetContentTask.DESCRIPTOR); 1863 {
1856 taskManager.addTaskDescriptor(ScanDartTask.DESCRIPTOR); 1864 ExtensionPoint taskExtension =
1857 taskManager.addTaskDescriptor(ParseDartTask.DESCRIPTOR); 1865 extensionManager.extensionPoints[TASK_EXTENSION_POINT_ID];
1858 taskManager.addTaskDescriptor(BuildClassConstructorsTask.DESCRIPTOR); 1866 List<TaskDescriptor> taskDescriptors = taskExtension.extensions;
1859 taskManager.addTaskDescriptor(BuildCompilationUnitElementTask.DESCRIPTOR); 1867 taskDescriptors.forEach(taskManager.addTaskDescriptor);
Brian Wilkerson 2015/04/19 17:35:48 or EnginePlugin plugin = new EnginePlugin(); exte
scheglov 2015/04/19 20:15:22 I don't see addTaskDescriptors() method in TaskMan
Brian Wilkerson 2015/04/19 20:21:15 Yes, sorry, I forgot that it wasn't committed yet.
1860 taskManager.addTaskDescriptor(BuildLibraryConstructorsTask.DESCRIPTOR); 1868 }
1861 taskManager.addTaskDescriptor(BuildLibraryElementTask.DESCRIPTOR);
1862 taskManager.addTaskDescriptor(BuildPublicNamespaceTask.DESCRIPTOR);
1863 taskManager.addTaskDescriptor(BuildDirectiveElementsTask.DESCRIPTOR);
1864 taskManager.addTaskDescriptor(BuildSourceClosuresTask.DESCRIPTOR);
1865 taskManager.addTaskDescriptor(BuildExportNamespaceTask.DESCRIPTOR);
1866 taskManager.addTaskDescriptor(BuildEnumMemberElementsTask.DESCRIPTOR);
1867 taskManager.addTaskDescriptor(BuildFunctionTypeAliasesTask.DESCRIPTOR);
1868 taskManager.addTaskDescriptor(BuildTypeProviderTask.DESCRIPTOR);
1869 taskManager.addTaskDescriptor(GatherUsedImportedElementsTask.DESCRIPTOR);
1870 taskManager.addTaskDescriptor(GatherUsedLocalElementsTask.DESCRIPTOR);
1871 taskManager.addTaskDescriptor(GenerateHintsTask.DESCRIPTOR);
1872 taskManager.addTaskDescriptor(ResolveUnitTypeNamesTask.DESCRIPTOR);
1873 taskManager.addTaskDescriptor(ResolveLibraryTypeNamesTask.DESCRIPTOR);
1874 taskManager.addTaskDescriptor(ResolveReferencesTask.DESCRIPTOR);
1875 taskManager.addTaskDescriptor(ResolveVariableReferencesTask.DESCRIPTOR);
1876 taskManager.addTaskDescriptor(VerifyUnitTask.DESCRIPTOR);
1877 // prepare AnalysisDriver 1869 // prepare AnalysisDriver
1878 analysisDriver = new AnalysisDriver(taskManager, context); 1870 analysisDriver = new AnalysisDriver(taskManager, context);
1879 } 1871 }
1880 1872
1881 void _computeResult(AnalysisTarget target, ResultDescriptor result) { 1873 void _computeResult(AnalysisTarget target, ResultDescriptor result) {
1882 task = analysisDriver.computeResult(target, result); 1874 task = analysisDriver.computeResult(target, result);
1883 expect(task.caughtException, isNull); 1875 expect(task.caughtException, isNull);
1884 outputs = task.outputs; 1876 outputs = task.outputs;
1885 } 1877 }
1886 1878
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
1926 return entryMap.putIfAbsent(target, () => new CacheEntry()); 1918 return entryMap.putIfAbsent(target, () => new CacheEntry());
1927 } 1919 }
1928 1920
1929 TimestampedData<String> getContents(Source source) => source.contents; 1921 TimestampedData<String> getContents(Source source) => source.contents;
1930 1922
1931 noSuchMethod(Invocation invocation) { 1923 noSuchMethod(Invocation invocation) {
1932 print('noSuchMethod: ${invocation.memberName}'); 1924 print('noSuchMethod: ${invocation.memberName}');
1933 return super.noSuchMethod(invocation); 1925 return super.noSuchMethod(invocation);
1934 } 1926 }
1935 } 1927 }
OLDNEW
« no previous file with comments | « pkg/analyzer/pubspec.yaml ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698