| 
									
										
										
										
											2016-07-18 03:50:31 -07:00
										 |  |  | /** | 
					
						
							|  |  |  |  * @license | 
					
						
							|  |  |  |  * Copyright Google Inc. All Rights Reserved. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Use of this source code is governed by an MIT-style license that can be | 
					
						
							|  |  |  |  * found in the LICENSE file at https://angular.io/license
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-12 19:14:17 -07:00
										 |  |  | import {Injector, NgModule} from '@angular/core'; | 
					
						
							| 
									
										
										
										
											2016-08-02 15:53:34 -07:00
										 |  |  | import {beforeEach, ddescribe, describe, expect, iit, inject, it} from '@angular/core/testing/testing_internal'; | 
					
						
							| 
									
										
										
										
											2016-07-18 03:50:31 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-02 15:53:34 -07:00
										 |  |  | import {isBlank, stringify} from '../src/facade/lang'; | 
					
						
							| 
									
										
										
										
											2016-08-30 18:07:40 -07:00
										 |  |  | import {MockNgModuleResolver} from '../testing/index'; | 
					
						
							| 
									
										
										
										
											2016-07-18 03:50:31 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | export function main() { | 
					
						
							|  |  |  |   describe('MockNgModuleResolver', () => { | 
					
						
							|  |  |  |     var ngModuleResolver: MockNgModuleResolver; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     beforeEach(inject([Injector], (injector: Injector) => { | 
					
						
							|  |  |  |       ngModuleResolver = new MockNgModuleResolver(injector); | 
					
						
							|  |  |  |     })); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     describe('NgModule overriding', () => { | 
					
						
							|  |  |  |       it('should fallback to the default NgModuleResolver when templates are not overridden', | 
					
						
							|  |  |  |          () => { | 
					
						
							|  |  |  |            var ngModule = ngModuleResolver.resolve(SomeNgModule); | 
					
						
							|  |  |  |            expect(ngModule.declarations).toEqual([SomeDirective]); | 
					
						
							|  |  |  |          }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       it('should allow overriding the @NgModule', () => { | 
					
						
							|  |  |  |         ngModuleResolver.setNgModule( | 
					
						
							| 
									
										
										
										
											2016-09-12 19:14:17 -07:00
										 |  |  |             SomeNgModule, new NgModule({declarations: [SomeOtherDirective]})); | 
					
						
							| 
									
										
										
										
											2016-07-18 03:50:31 -07:00
										 |  |  |         var ngModule = ngModuleResolver.resolve(SomeNgModule); | 
					
						
							|  |  |  |         expect(ngModule.declarations).toEqual([SomeOtherDirective]); | 
					
						
							|  |  |  |       }); | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class SomeDirective {} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class SomeOtherDirective {} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @NgModule({declarations: [SomeDirective]}) | 
					
						
							|  |  |  | class SomeNgModule { | 
					
						
							|  |  |  | } |