| 
									
										
										
										
											2017-01-20 13:10:57 -08: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
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-01 11:32:27 -08:00
										 |  |  | import {Injector, RootRenderer, Sanitizer} from '@angular/core'; | 
					
						
							| 
									
										
										
										
											2017-02-03 15:20:50 -08:00
										 |  |  | import {ArgumentType, NodeCheckFn, RootData, Services, ViewData, ViewDefinition, initServicesIfNeeded} from '@angular/core/src/view/index'; | 
					
						
							| 
									
										
										
										
											2017-01-20 13:10:57 -08:00
										 |  |  | import {TestBed} from '@angular/core/testing'; | 
					
						
							|  |  |  | import {getDOM} from '@angular/platform-browser/src/dom/dom_adapter'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export function isBrowser() { | 
					
						
							|  |  |  |   return getDOM().supportsDOMEvents(); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-03 15:20:50 -08:00
										 |  |  | export const ARG_TYPE_VALUES = [ArgumentType.Inline, ArgumentType.Dynamic]; | 
					
						
							| 
									
										
										
										
											2017-01-20 09:21:09 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-03 15:20:50 -08:00
										 |  |  | export function checkNodeInlineOrDynamic( | 
					
						
							|  |  |  |     check: NodeCheckFn, view: ViewData, nodeIndex: number, argType: ArgumentType, | 
					
						
							|  |  |  |     values: any[]): any { | 
					
						
							|  |  |  |   switch (argType) { | 
					
						
							|  |  |  |     case ArgumentType.Inline: | 
					
						
							|  |  |  |       return (<any>check)(view, nodeIndex, argType, ...values); | 
					
						
							|  |  |  |     case ArgumentType.Dynamic: | 
					
						
							|  |  |  |       return check(view, nodeIndex, argType, values); | 
					
						
							| 
									
										
										
										
											2017-01-20 09:21:09 -08:00
										 |  |  |   } | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2017-02-01 11:32:27 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-03 15:20:50 -08:00
										 |  |  | export function createRootView( | 
					
						
							|  |  |  |     def: ViewDefinition, context?: any, projectableNodes?: any[][], | 
					
						
							|  |  |  |     rootSelectorOrNode?: any): ViewData { | 
					
						
							|  |  |  |   initServicesIfNeeded(); | 
					
						
							|  |  |  |   return Services.createRootView( | 
					
						
							|  |  |  |       TestBed.get(Injector), projectableNodes || [], rootSelectorOrNode, def, context); | 
					
						
							| 
									
										
										
										
											2017-02-01 11:32:27 -08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export let removeNodes: Node[]; | 
					
						
							|  |  |  | beforeEach(() => { removeNodes = []; }); | 
					
						
							|  |  |  | afterEach(() => { removeNodes.forEach((node) => getDOM().remove(node)); }); |