64 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.8 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 {openBrowser, verifyNoBrowserErrors} from 'e2e_util/e2e_util';
 | |
| import {$, browser} from 'protractor';
 | |
| 
 | |
| import {Benchmark, Benchmarks, CreateBtn, DestroyBtn, DetectChangesBtn, NumberOfChecksEl, RootEl} from './tree_data';
 | |
| 
 | |
| describe('tree benchmark spec', () => {
 | |
| 
 | |
|   let _oldRootEl: any;
 | |
|   beforeEach(() => _oldRootEl = browser.rootEl);
 | |
| 
 | |
|   afterEach(() => {
 | |
|     browser.rootEl = _oldRootEl;
 | |
|     verifyNoBrowserErrors();
 | |
|   });
 | |
| 
 | |
|   Benchmarks.forEach(benchmark => {
 | |
|     describe(benchmark.id, () => {
 | |
|       it('should work for createDestroy', () => {
 | |
|         openTreeBenchmark(benchmark);
 | |
|         $(CreateBtn).click();
 | |
|         expect($(RootEl).getText()).toContain('0');
 | |
|         $(DestroyBtn).click();
 | |
|         expect($(RootEl).getText()).toEqual('');
 | |
|       });
 | |
| 
 | |
|       it('should work for update', () => {
 | |
|         openTreeBenchmark(benchmark);
 | |
|         $(CreateBtn).click();
 | |
|         $(CreateBtn).click();
 | |
|         expect($(RootEl).getText()).toContain('A');
 | |
|       });
 | |
| 
 | |
|       if (benchmark.buttons.indexOf(DetectChangesBtn) !== -1) {
 | |
|         it('should work for detectChanges', () => {
 | |
|           openTreeBenchmark(benchmark);
 | |
|           $(DetectChangesBtn).click();
 | |
|           expect($(NumberOfChecksEl).getText()).toContain('10');
 | |
|         });
 | |
|       }
 | |
|     });
 | |
|   });
 | |
| 
 | |
|   function openTreeBenchmark(benchmark: Benchmark) {
 | |
|     let params = [{name: 'depth', value: 4}];
 | |
|     if (benchmark.extraParams) {
 | |
|       params = params.concat(benchmark.extraParams);
 | |
|     }
 | |
|     browser.rootEl = RootEl;
 | |
|     openBrowser({
 | |
|       url: benchmark.url,
 | |
|       ignoreBrowserSynchronization: benchmark.ignoreBrowserSynchronization,
 | |
|       params: params,
 | |
|     });
 | |
|   }
 | |
| });
 |