30 lines
		
	
	
		
			1012 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			30 lines
		
	
	
		
			1012 B
		
	
	
	
		
			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 {AppModuleFactory, AppModuleRef} from '@angular/core';
							 | 
						||
| 
								 | 
							
								import {ComponentFixture} from '@angular/core/testing';
							 | 
						||
| 
								 | 
							
								import {serverPlatform} from '@angular/platform-server';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import {MainModuleNgFactory} from '../src/module.ngfactory';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export function createModule<M>(factory: AppModuleFactory<M>): AppModuleRef<M> {
							 | 
						||
| 
								 | 
							
								  return factory.create(serverPlatform().injector);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export function createComponent<C>(
							 | 
						||
| 
								 | 
							
								    comp: {new (...args: any[]): C},
							 | 
						||
| 
								 | 
							
								    moduleFactory: AppModuleFactory<any> = null): ComponentFixture<C> {
							 | 
						||
| 
								 | 
							
								  if (!moduleFactory) {
							 | 
						||
| 
								 | 
							
								    moduleFactory = MainModuleNgFactory;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  const moduleRef = createModule(moduleFactory);
							 | 
						||
| 
								 | 
							
								  const compRef =
							 | 
						||
| 
								 | 
							
								      moduleRef.componentFactoryResolver.resolveComponentFactory(comp).create(moduleRef.injector);
							 | 
						||
| 
								 | 
							
								  return new ComponentFixture(compRef, null, null);
							 | 
						||
| 
								 | 
							
								}
							 |