73 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			73 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @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
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import {Component} from '@angular/core';
							 | 
						||
| 
								 | 
							
								import {TestBed} from '@angular/core/testing';
							 | 
						||
| 
								 | 
							
								import {ServerTestingModule, platformServerTesting} from '@angular/platform-server/testing';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import {SomeDep, SomeDirective, SomeModule, SomePipe, SomePrivateComponent, SomeService, expectInstanceCreated} from '../src/jit_summaries';
							 | 
						||
| 
								 | 
							
								import {SomeModuleNgSummary} from '../src/jit_summaries.ngsummary';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								describe('Jit Summaries', () => {
							 | 
						||
| 
								 | 
							
								  beforeEach(() => {
							 | 
						||
| 
								 | 
							
								    TestBed.initTestEnvironment(ServerTestingModule, platformServerTesting(), SomeModuleNgSummary);
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  afterEach(() => { TestBed.resetTestEnvironment(); });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  it('should use directive metadata from summaries', () => {
							 | 
						||
| 
								 | 
							
								    @Component({template: '<div someDir></div>'})
							 | 
						||
| 
								 | 
							
								    class TestComp {
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    TestBed.configureTestingModule({providers: [SomeDep], declarations: [TestComp, SomeDirective]})
							 | 
						||
| 
								 | 
							
								        .createComponent(TestComp);
							 | 
						||
| 
								 | 
							
								    expectInstanceCreated(SomeDirective);
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  it('should use pipe metadata from summaries', () => {
							 | 
						||
| 
								 | 
							
								    @Component({template: '{{1 | somePipe}}'})
							 | 
						||
| 
								 | 
							
								    class TestComp {
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    TestBed.configureTestingModule({providers: [SomeDep], declarations: [TestComp, SomePipe]})
							 | 
						||
| 
								 | 
							
								        .createComponent(TestComp);
							 | 
						||
| 
								 | 
							
								    expectInstanceCreated(SomePipe);
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  it('should use Service metadata from summaries', () => {
							 | 
						||
| 
								 | 
							
								    TestBed.configureTestingModule({
							 | 
						||
| 
								 | 
							
								      providers: [SomeService, SomeDep],
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								    TestBed.get(SomeService);
							 | 
						||
| 
								 | 
							
								    expectInstanceCreated(SomeService);
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  it('should use NgModule metadata from summaries', () => {
							 | 
						||
| 
								 | 
							
								    @Component({template: '<div someDir>{{1 | somePipe}}</div>'})
							 | 
						||
| 
								 | 
							
								    class TestComp {
							 | 
						||
| 
								 | 
							
								      constructor(service: SomeService) {}
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    TestBed
							 | 
						||
| 
								 | 
							
								        .configureTestingModule(
							 | 
						||
| 
								 | 
							
								            {providers: [SomeDep], declarations: [TestComp], imports: [SomeModule]})
							 | 
						||
| 
								 | 
							
								        .createComponent(TestComp);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    expectInstanceCreated(SomeModule);
							 | 
						||
| 
								 | 
							
								    expectInstanceCreated(SomeDirective);
							 | 
						||
| 
								 | 
							
								    expectInstanceCreated(SomePipe);
							 | 
						||
| 
								 | 
							
								    expectInstanceCreated(SomeService);
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  it('should allow to create private components from imported NgModule summaries', () => {
							 | 
						||
| 
								 | 
							
								    TestBed.configureTestingModule({providers: [SomeDep], imports: [SomeModule]})
							 | 
						||
| 
								 | 
							
								        .createComponent(SomePrivateComponent);
							 | 
						||
| 
								 | 
							
								    expectInstanceCreated(SomePrivateComponent);
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								});
							 |