@@ -83,12 +83,13 @@ void allTests() {
8383 });
8484
8585 Future <String > process (AssetId assetId,
86- {List <String > platformDirectives, List <String > platformPipes}) {
86+ {List <String > platformDirectives, List <String > platformPipes, Map < String , String > resolvedIdentifiers }) {
8787 logger = new RecordingLogger ();
8888 return zone.exec (
8989 () => processTemplates (reader, assetId,
9090 platformDirectives: platformDirectives,
91- platformPipes: platformPipes),
91+ platformPipes: platformPipes,
92+ resolvedIdentifiers: resolvedIdentifiers),
9293 log: logger);
9394 }
9495
@@ -142,7 +143,7 @@ void allTests() {
142143
143144 updateReader ();
144145
145- final viewDefResults = await createCompileData (reader, fooAssetId, [], []);
146+ final viewDefResults = await createCompileData (reader, fooAssetId, [], [], {} );
146147 final cmp = viewDefResults.viewDefinitions.values.first.component;
147148
148149 expect (cmp.providers.length).toEqual (1 );
@@ -165,7 +166,7 @@ void allTests() {
165166
166167 updateReader ();
167168
168- final viewDefResults = await createCompileData (reader, fooAssetId, [], []);
169+ final viewDefResults = await createCompileData (reader, fooAssetId, [], [], {} );
169170 final cmp = viewDefResults.viewDefinitions.values.first.component;
170171
171172 expect (cmp.providers.length).toEqual (1 );
@@ -193,7 +194,7 @@ void allTests() {
193194
194195 updateReader ();
195196
196- final viewDefResults = await createCompileData (reader, fooAssetId, [], []);
197+ final viewDefResults = await createCompileData (reader, fooAssetId, [], [], {} );
197198 final cmp = viewDefResults.viewDefinitions.values.first.component;
198199
199200 expect (cmp.providers.length).toEqual (1 );
@@ -219,7 +220,7 @@ void allTests() {
219220
220221 updateReader ();
221222
222- final viewDefResults = await createCompileData (reader, fooAssetId, [], []);
223+ final viewDefResults = await createCompileData (reader, fooAssetId, [], [], {} );
223224 final cmp = viewDefResults.viewDefinitions.values.first.component;
224225
225226 expect (cmp.providers.length).toEqual (1 );
@@ -248,7 +249,7 @@ void allTests() {
248249
249250 updateReader ();
250251
251- final viewDefResults = await createCompileData (reader, fooAssetId, [], []);
252+ final viewDefResults = await createCompileData (reader, fooAssetId, [], [], {} );
252253 final cmp = viewDefResults.viewDefinitions.values.first.component;
253254
254255 expect (cmp.providers.length).toEqual (1 );
@@ -587,6 +588,31 @@ void allTests() {
587588 ..toContain ("import 'bar.dart'" )
588589 ..toContain (barPipeMeta.name);
589590 });
591+
592+ it ('should fallback to the list of resolved identifiers.' , () async {
593+ barNgMeta.identifiers['Service2' ] = new CompileTypeMetadata (name: 'Service2' , moduleUrl: 'moduleUrl' );
594+
595+ fooComponentMeta.template = new CompileTemplateMetadata (template: "import 'bar.dart';" );
596+ fooComponentMeta.providers = [new CompileProviderMetadata (token: new CompileIdentifierMetadata (name: 'Service1' ), useClass:
597+ new CompileTypeMetadata (name: 'Service2' ))];
598+
599+ final viewAnnotation = new AnnotationModel ()..name = 'View' ..isView = true ;
600+ final reflectable = fooNgMeta.ngDeps.reflectables.first;
601+ reflectable.annotations.add (viewAnnotation);
602+ fooNgMeta.ngDeps.imports.add (new ImportModel ()..uri = 'package:a/bar.dart' );
603+
604+ updateReader ();
605+
606+ final viewDefResults = await createCompileData (reader, fooAssetId, [], [], {"Service1" : "someModuleUrl" , "Service2" : "someModuleUrl" });
607+ final cmp = viewDefResults.viewDefinitions.values.first.component;
608+
609+ expect (cmp.providers.length).toEqual (1 );
610+
611+ expect (cmp.providers[0 ].token.name).toEqual ("Service1" );
612+ expect (cmp.providers[0 ].token.moduleUrl).toEqual ("someModuleUrl" );
613+ expect (cmp.providers[0 ].useClass.name).toEqual ("Service2" );
614+ expect (cmp.providers[0 ].useClass.moduleUrl).toEqual ("moduleUrl" );
615+ });
590616}
591617
592618String _generatedCode (Outputs outputs) {
0 commit comments