| 
									
										
										
										
											2016-08-03 15:00:07 -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
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-23 13:49:57 -08:00
										 |  |  | /* tslint:disable:no-console  */ | 
					
						
							| 
									
										
										
										
											2016-11-10 18:13:11 -08:00
										 |  |  | import {browser} from 'protractor'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-12 14:08:58 +01:00
										 |  |  | const assertEventsContainsName = function(events: any[], eventName: string) { | 
					
						
							|  |  |  |   let found = false; | 
					
						
							|  |  |  |   for (let i = 0; i < events.length; ++i) { | 
					
						
							| 
									
										
										
										
											2015-06-08 13:51:10 -07:00
										 |  |  |     if (events[i].name == eventName) { | 
					
						
							|  |  |  |       found = true; | 
					
						
							|  |  |  |       break; | 
					
						
							| 
									
										
										
										
											2015-05-18 18:10:30 -07:00
										 |  |  |     } | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2015-06-08 13:51:10 -07:00
										 |  |  |   expect(found).toBeTruthy(); | 
					
						
							| 
									
										
										
										
											2015-05-18 18:10:30 -07:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-01 03:32:59 -08:00
										 |  |  | // TODO: this test is currnetly failing. it seems that it didn't run on the ci for a while
 | 
					
						
							|  |  |  | xdescribe('firefox extension', function() { | 
					
						
							| 
									
										
										
										
											2016-11-12 14:08:58 +01:00
										 |  |  |   const TEST_URL = 'http://localhost:8001/playground/src/hello_world/index.html'; | 
					
						
							| 
									
										
										
										
											2015-06-01 16:17:28 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-27 14:57:54 -07:00
										 |  |  |   it('should measure performance', function() { | 
					
						
							|  |  |  |     browser.sleep(3000);  // wait for extension to load
 | 
					
						
							| 
									
										
										
										
											2015-05-18 18:10:30 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-01 16:17:28 -07:00
										 |  |  |     browser.driver.get(TEST_URL); | 
					
						
							| 
									
										
										
										
											2015-05-18 18:10:30 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-23 13:49:57 -08:00
										 |  |  |     browser.executeScript('window.startProfiler()').then(function() { | 
					
						
							|  |  |  |       console.log('started measuring perf'); | 
					
						
							|  |  |  |     }); | 
					
						
							| 
									
										
										
										
											2015-05-18 18:10:30 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-12-28 17:47:49 -08:00
										 |  |  |     browser.executeAsyncScript('setTimeout(arguments[0], 1000);'); | 
					
						
							| 
									
										
										
										
											2015-05-18 18:10:30 -07:00
										 |  |  |     browser.executeScript('window.forceGC()'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-08 13:51:10 -07:00
										 |  |  |     browser.executeAsyncScript('var cb = arguments[0]; window.getProfile(cb);') | 
					
						
							| 
									
										
										
										
											2016-08-26 16:34:08 -07:00
										 |  |  |         .then(function(profile: any) { | 
					
						
							| 
									
										
										
										
											2015-06-08 13:51:10 -07:00
										 |  |  |           assertEventsContainsName(profile, 'gc'); | 
					
						
							|  |  |  |           assertEventsContainsName(profile, 'script'); | 
					
						
							|  |  |  |         }); | 
					
						
							| 
									
										
										
										
											2016-08-03 15:00:07 -07:00
										 |  |  |   }); | 
					
						
							| 
									
										
										
										
											2015-05-18 18:10:30 -07:00
										 |  |  | }); |