@@ -3,21 +3,17 @@ library angular2.src.analysis.analyzer_plugin.src.tasks_test;
33import 'package:analyzer/file_system/file_system.dart' ;
44import 'package:analyzer/file_system/memory_file_system.dart' ;
55import 'package:analyzer/src/context/cache.dart' ;
6+ import 'package:analyzer/src/context/context.dart' ;
67import 'package:analyzer/src/generated/engine.dart'
7- show AnalysisOptionsImpl, TimestampedData;
8- import 'package:analyzer/src/generated/resolver.dart' ;
8+ show AnalysisOptionsImpl, TimestampedData, AnalysisEngine;
99import 'package:analyzer/src/generated/sdk.dart' ;
1010import 'package:analyzer/src/generated/source.dart' ;
11- import 'package:analyzer/src/task/dart.dart' ;
1211import 'package:analyzer/src/task/driver.dart' ;
13- import 'package:analyzer/src/task/general.dart' ;
14- import 'package:analyzer/src/task/manager.dart' ;
1512import 'package:analyzer/task/dart.dart' ;
1613import 'package:analyzer/task/model.dart' ;
1714import 'package:angular2/src/render/api.dart' ;
1815import 'package:angular2_analyzer_plugin/src/tasks.dart' ;
1916import 'package:test_reflective_loader/test_reflective_loader.dart' ;
20- import 'package:typed_mock/typed_mock.dart' ;
2117import 'package:unittest/unittest.dart' ;
2218
2319import 'mock_sdk.dart' ;
@@ -33,16 +29,17 @@ class BuildUnitDirectivesTaskTest extends _AbstractDartTaskTest {
3329
3430 void test_Component () {
3531 _addAngularSources ();
32+
3633 Source source = _newSource ('/test.dart' , r'''
37- import '/angular2/metadata.dart';
34+ import '/angular2/metadata.dart';
3835
39- @Component(selector: 'comp-a')
40- class ComponentA {
41- }
36+ @Component(selector: 'comp-a')
37+ class ComponentA {
38+ }
4239
43- @Component(selector: 'comp-b')
44- class ComponentB {
45- }
40+ @Component(selector: 'comp-b')
41+ class ComponentB {
42+ }
4643''' );
4744 LibrarySpecificUnit target = new LibrarySpecificUnit (source, source);
4845 _computeResult (target, DIRECTIVES );
@@ -56,7 +53,9 @@ class ComponentB {
5653
5754 void test_Directive () {
5855 _addAngularSources ();
56+
5957 Source source = _newSource ('/test.dart' , r'''
58+
6059import '/angular2/metadata.dart';
6160
6261@Directive(selector: 'deco-a')
@@ -78,7 +77,10 @@ class ComponentB {
7877 }
7978
8079 void _addAngularSources () {
80+
81+
8182 _newSource ('/angular2/metadata.dart' , r'''
83+
8284library angular2.src.core.metadata;
8385
8486abstract class Directive {
@@ -118,54 +120,31 @@ class _AbstractDartTaskTest {
118120 Source emptySource;
119121
120122 DartSdk sdk = new MockSdk ();
121- _MockContext context = new _MockContext () ;
123+ AnalysisContextImpl context;
122124 Map <AnalysisTarget , CacheEntry > entryMap = < AnalysisTarget , CacheEntry > {};
123125
124- TaskManager taskManager = new TaskManager ();
125126 AnalysisDriver analysisDriver;
126127
127128 AnalysisTask task;
128129 Map <ResultDescriptor <dynamic >, dynamic > outputs;
129130
130131 CacheEntry getCacheEntry (AnalysisTarget target) {
131- return entryMap.putIfAbsent (target, () => new CacheEntry ());
132+ return entryMap.putIfAbsent (target, () => new CacheEntry (target ));
132133 }
133134
134135 void setUp () {
135136 emptySource = _newSource ('/test.dart' );
136- // prepare AnalysisContext
137+ AnalysisEngine .instance.useTaskModel = true ;
138+ context = new AnalysisContextImpl ();
139+
137140 context.sourceFactory = new SourceFactory (< UriResolver > [
138141 new DartUriResolver (sdk),
139142 new ResourceUriResolver (resourceProvider)
140143 ]);
141- // prepare TaskManager
142- taskManager.addTaskDescriptor (GetContentTask .DESCRIPTOR );
143- // TODO(scheglov) extract into API
144- taskManager.addTaskDescriptor (ScanDartTask .DESCRIPTOR );
145- taskManager.addTaskDescriptor (ParseDartTask .DESCRIPTOR );
146- taskManager.addTaskDescriptor (BuildClassConstructorsTask .DESCRIPTOR );
147- taskManager.addTaskDescriptor (BuildCompilationUnitElementTask .DESCRIPTOR );
148- taskManager.addTaskDescriptor (BuildLibraryConstructorsTask .DESCRIPTOR );
149- taskManager.addTaskDescriptor (BuildLibraryElementTask .DESCRIPTOR );
150- taskManager.addTaskDescriptor (BuildPublicNamespaceTask .DESCRIPTOR );
151- taskManager.addTaskDescriptor (BuildDirectiveElementsTask .DESCRIPTOR );
152- taskManager.addTaskDescriptor (BuildSourceClosuresTask .DESCRIPTOR );
153- taskManager.addTaskDescriptor (BuildExportNamespaceTask .DESCRIPTOR );
154- taskManager.addTaskDescriptor (BuildEnumMemberElementsTask .DESCRIPTOR );
155- taskManager.addTaskDescriptor (BuildFunctionTypeAliasesTask .DESCRIPTOR );
156- taskManager.addTaskDescriptor (BuildTypeProviderTask .DESCRIPTOR );
157- taskManager.addTaskDescriptor (GatherUsedImportedElementsTask .DESCRIPTOR );
158- taskManager.addTaskDescriptor (GatherUsedLocalElementsTask .DESCRIPTOR );
159- taskManager.addTaskDescriptor (GenerateHintsTask .DESCRIPTOR );
160- taskManager.addTaskDescriptor (ResolveUnitTypeNamesTask .DESCRIPTOR );
161- taskManager.addTaskDescriptor (ResolveLibraryTypeNamesTask .DESCRIPTOR );
162- taskManager.addTaskDescriptor (ResolveReferencesTask .DESCRIPTOR );
163- taskManager.addTaskDescriptor (ResolveVariableReferencesTask .DESCRIPTOR );
164- taskManager.addTaskDescriptor (VerifyUnitTask .DESCRIPTOR );
165- // Angular specific tasks
166- taskManager.addTaskDescriptor (BuildUnitDirectivesTask .DESCRIPTOR );
167- // prepare AnalysisDriver
168- analysisDriver = new AnalysisDriver (taskManager, context);
144+
145+ analysisDriver = context.driver;
146+ analysisDriver.taskManager
147+ .addTaskDescriptor (BuildUnitDirectivesTask .DESCRIPTOR );
169148 }
170149
171150 void _computeResult (AnalysisTarget target, ResultDescriptor result) {
@@ -179,27 +158,3 @@ class _AbstractDartTaskTest {
179158 return file.createSource ();
180159 }
181160}
182-
183- class _MockContext extends TypedMock implements ExtendedAnalysisContext {
184- AnalysisOptionsImpl analysisOptions = new AnalysisOptionsImpl ();
185- SourceFactory sourceFactory;
186- TypeProvider typeProvider;
187-
188- Map <AnalysisTarget , CacheEntry > entryMap = < AnalysisTarget , CacheEntry > {};
189-
190- String get name => '_MockContext' ;
191-
192- bool exists (Source source) => source.exists ();
193-
194- @override
195- CacheEntry getCacheEntry (AnalysisTarget target) {
196- return entryMap.putIfAbsent (target, () => new CacheEntry ());
197- }
198-
199- TimestampedData <String > getContents (Source source) => source.contents;
200-
201- noSuchMethod (Invocation invocation) {
202- print ('noSuchMethod: ${invocation .memberName }' );
203- return super .noSuchMethod (invocation);
204- }
205- }
0 commit comments