| 
									
										
										
										
											2015-03-02 14:01:02 -08:00
										 |  |  | var testUtil = require('angular2/src/test_lib/e2e_util'); | 
					
						
							| 
									
										
										
										
											2015-02-05 18:33:57 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | describe('ng2 naive infinite scroll benchmark', function () { | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-13 17:30:56 -08:00
										 |  |  |   var URL = 'benchmarks/src/naive_infinite_scroll/index.html?appSize=3'; | 
					
						
							| 
									
										
										
										
											2015-02-05 18:33:57 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  |   afterEach(testUtil.verifyNoBrowserErrors); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   it('should not throw errors', function() { | 
					
						
							|  |  |  |     browser.get(URL); | 
					
						
							| 
									
										
										
										
											2015-02-13 17:30:56 -08:00
										 |  |  |     var expectedRowCount = 18; | 
					
						
							| 
									
										
										
										
											2015-03-10 12:30:50 -07:00
										 |  |  |     var expectedCellsPerRow = 28; | 
					
						
							|  |  |  |     var allScrollItems = 'scroll-app #testArea scroll-item'; | 
					
						
							|  |  |  |     var cells = `${ allScrollItems } .row *`; | 
					
						
							| 
									
										
										
										
											2015-02-13 17:30:56 -08:00
										 |  |  |     var stageButtons = | 
					
						
							| 
									
										
										
										
											2015-03-10 12:30:50 -07:00
										 |  |  |         `${ allScrollItems } .row stage-buttons button`; | 
					
						
							| 
									
										
										
										
											2015-02-13 17:30:56 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     var count = function(selector) { | 
					
						
							|  |  |  |       return browser.executeScript( | 
					
						
							|  |  |  |         `return document.querySelectorAll("${ selector }").length;` | 
					
						
							|  |  |  |       ); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     var clickFirstOf = function(selector) { | 
					
						
							|  |  |  |       return browser.executeScript( | 
					
						
							|  |  |  |         `document.querySelector("${ selector }").click();` | 
					
						
							|  |  |  |       ); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     var firstTextOf = function(selector) { | 
					
						
							|  |  |  |       return browser.executeScript( | 
					
						
							|  |  |  |         `return document.querySelector("${ selector }").innerText;` | 
					
						
							|  |  |  |       ); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // Make sure rows are rendered | 
					
						
							|  |  |  |     count(allScrollItems).then(function(c) { | 
					
						
							|  |  |  |       expect(c).toBe(expectedRowCount); | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // Make sure cells are rendered | 
					
						
							|  |  |  |     count(cells).then(function(c) { | 
					
						
							|  |  |  |       expect(c).toBe(expectedRowCount * expectedCellsPerRow); | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // Click on first enabled button and verify stage changes | 
					
						
							|  |  |  |     firstTextOf(`${ stageButtons }:enabled`).then(function(text) { | 
					
						
							|  |  |  |       expect(text).toBe('Pitched'); | 
					
						
							|  |  |  |       clickFirstOf(`${ stageButtons }:enabled`).then(function() { | 
					
						
							|  |  |  |         firstTextOf(`${ stageButtons }:enabled`).then(function(text) { | 
					
						
							|  |  |  |           expect(text).toBe('Won'); | 
					
						
							|  |  |  |         }) | 
					
						
							|  |  |  |       }); | 
					
						
							|  |  |  |     }) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-27 09:07:16 -08:00
										 |  |  |     $("#reset-btn").click(); | 
					
						
							|  |  |  |     $("#run-btn").click(); | 
					
						
							| 
									
										
										
										
											2015-02-05 18:33:57 -08:00
										 |  |  |     browser.wait(() => { | 
					
						
							|  |  |  |       return $('#done').getText().then( | 
					
						
							|  |  |  |         function() { return true; }, | 
					
						
							|  |  |  |         function() { return false; }); | 
					
						
							|  |  |  |       }, 10000); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | }); |