| 
									
										
										
										
											2016-08-30 09:29:39 -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
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import {openBrowser, verifyNoBrowserErrors} from 'e2e_util/e2e_util'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-30 14:17:37 -07:00
										 |  |  | describe('tree benchmark spec', () => { | 
					
						
							| 
									
										
										
										
											2016-08-30 09:29:39 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |   afterEach(verifyNoBrowserErrors); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-30 14:17:37 -07:00
										 |  |  |   it('should work for ng2', () => { | 
					
						
							|  |  |  |     testTreeBenchmark({ | 
					
						
							|  |  |  |       url: 'all/benchmarks/src/tree/ng2/index.html', | 
					
						
							| 
									
										
										
										
											2016-08-30 09:29:39 -07:00
										 |  |  |     }); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-30 09:09:31 -07:00
										 |  |  |   it('should work for ng2 ftl', () => { | 
					
						
							|  |  |  |     testTreeBenchmark({ | 
					
						
							|  |  |  |       url: 'all/benchmarks/src/tree/ng2_ftl/index.html', | 
					
						
							|  |  |  |       // Can't use bundles as we use AoT generated code
 | 
					
						
							|  |  |  |       // which relies on deep imports
 | 
					
						
							|  |  |  |       extraParams: [{name: 'bundles', value: false}] | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-01 10:29:35 -07:00
										 |  |  |   it('should work for ng2 static', () => { | 
					
						
							|  |  |  |     testTreeBenchmark({ | 
					
						
							|  |  |  |       url: 'all/benchmarks/src/tree/ng2_static/index.html', | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-30 09:09:31 -07:00
										 |  |  |   it('should work for ng2 static ftl', () => { | 
					
						
							|  |  |  |     testTreeBenchmark({ | 
					
						
							|  |  |  |       url: 'all/benchmarks/src/tree/ng2_static_ftl/index.html', | 
					
						
							|  |  |  |       // Can't use bundles as we use AoT generated code
 | 
					
						
							|  |  |  |       // which relies on deep imports
 | 
					
						
							|  |  |  |       extraParams: [{name: 'bundles', value: false}] | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-01 16:56:45 -07:00
										 |  |  |   it('should work for ng2 switch', () => { | 
					
						
							| 
									
										
										
										
											2016-08-30 14:17:37 -07:00
										 |  |  |     testTreeBenchmark({ | 
					
						
							| 
									
										
										
										
											2016-09-01 16:56:45 -07:00
										 |  |  |       url: 'all/benchmarks/src/tree/ng2_switch/index.html', | 
					
						
							| 
									
										
										
										
											2016-08-30 09:29:39 -07:00
										 |  |  |     }); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-01 16:56:45 -07:00
										 |  |  |   it('should work for the baseline', () => { | 
					
						
							| 
									
										
										
										
											2016-09-01 10:31:11 -07:00
										 |  |  |     testTreeBenchmark({ | 
					
						
							| 
									
										
										
										
											2016-09-01 16:56:45 -07:00
										 |  |  |       url: 'all/benchmarks/src/tree/baseline/index.html', | 
					
						
							| 
									
										
										
										
											2016-09-01 10:31:11 -07:00
										 |  |  |       ignoreBrowserSynchronization: true, | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  |   }); | 
					
						
							| 
									
										
										
										
											2016-09-01 10:31:31 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-01 16:56:45 -07:00
										 |  |  |   it('should work for incremental dom', () => { | 
					
						
							| 
									
										
										
										
											2016-09-01 10:31:31 -07:00
										 |  |  |     testTreeBenchmark({ | 
					
						
							|  |  |  |       url: 'all/benchmarks/src/tree/incremental_dom/index.html', | 
					
						
							|  |  |  |       ignoreBrowserSynchronization: true, | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-30 13:44:52 -07:00
										 |  |  |   it('should work for polymer binary tree', () => { | 
					
						
							| 
									
										
										
										
											2016-08-30 14:17:37 -07:00
										 |  |  |     testTreeBenchmark({ | 
					
						
							| 
									
										
										
										
											2016-08-30 09:29:39 -07:00
										 |  |  |       url: 'all/benchmarks/src/tree/polymer/index.html', | 
					
						
							|  |  |  |       ignoreBrowserSynchronization: true, | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-30 13:44:52 -07:00
										 |  |  |   it('should work for polymer leaves', () => { | 
					
						
							| 
									
										
										
										
											2016-08-30 14:17:37 -07:00
										 |  |  |     testTreeBenchmark({ | 
					
						
							| 
									
										
										
										
											2016-08-30 13:44:52 -07:00
										 |  |  |       url: 'all/benchmarks/src/tree/polymer_leaves/index.html', | 
					
						
							|  |  |  |       ignoreBrowserSynchronization: true, | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-30 09:09:31 -07:00
										 |  |  |   function testTreeBenchmark(openConfig: { | 
					
						
							|  |  |  |     url: string, | 
					
						
							|  |  |  |     ignoreBrowserSynchronization?: boolean, | 
					
						
							|  |  |  |     extraParams?: {name: string, value: any}[] | 
					
						
							|  |  |  |   }) { | 
					
						
							|  |  |  |     let params = [{name: 'depth', value: 4}]; | 
					
						
							|  |  |  |     if (openConfig.extraParams) { | 
					
						
							|  |  |  |       params = params.concat(openConfig.extraParams); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2016-09-01 16:56:45 -07:00
										 |  |  |     openBrowser({ | 
					
						
							|  |  |  |       url: openConfig.url, | 
					
						
							|  |  |  |       ignoreBrowserSynchronization: openConfig.ignoreBrowserSynchronization, | 
					
						
							| 
									
										
										
										
											2016-09-30 09:09:31 -07:00
										 |  |  |       params: params, | 
					
						
							| 
									
										
										
										
											2016-09-01 16:56:45 -07:00
										 |  |  |     }); | 
					
						
							| 
									
										
										
										
											2016-08-30 14:17:37 -07:00
										 |  |  |     $('#createDom').click(); | 
					
						
							|  |  |  |     expect($('#root').getText()).toContain('0'); | 
					
						
							| 
									
										
										
										
											2016-09-01 16:56:45 -07:00
										 |  |  |     $('#createDom').click(); | 
					
						
							|  |  |  |     expect($('#root').getText()).toContain('A'); | 
					
						
							| 
									
										
										
										
											2016-08-30 14:17:37 -07:00
										 |  |  |     $('#destroyDom').click(); | 
					
						
							|  |  |  |     expect($('#root').getText()).toEqual(''); | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2016-08-30 09:29:39 -07:00
										 |  |  | }); |