Chromium Code Reviews| 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/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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 } |
| OLD | NEW |