@@ -2,12 +2,57 @@ var testUtil = require('angular2/e2e_test/test_util');
22
33describe ( 'ng2 naive infinite scroll benchmark' , function ( ) {
44
5- var URL = 'benchmarks/src/naive_infinite_scroll/index.html' ;
5+ var URL = 'benchmarks/src/naive_infinite_scroll/index.html?appSize=3 ' ;
66
77 afterEach ( testUtil . verifyNoBrowserErrors ) ;
88
99 it ( 'should not throw errors' , function ( ) {
1010 browser . get ( URL ) ;
11+ var expectedRowCount = 18 ;
12+ var expectedCellsPerRow = 11 ;
13+ var allScrollItems = 'scroll-app /deep/ #testArea /deep/ scroll-item' ;
14+ var cells = `${ allScrollItems } /deep/ .row *` ;
15+ var stageButtons =
16+ `${ allScrollItems } /deep/ .row stage-buttons /deep/ button` ;
17+
18+ var count = function ( selector ) {
19+ return browser . executeScript (
20+ `return document.querySelectorAll("${ selector } ").length;`
21+ ) ;
22+ }
23+
24+ var clickFirstOf = function ( selector ) {
25+ return browser . executeScript (
26+ `document.querySelector("${ selector } ").click();`
27+ ) ;
28+ }
29+
30+ var firstTextOf = function ( selector ) {
31+ return browser . executeScript (
32+ `return document.querySelector("${ selector } ").innerText;`
33+ ) ;
34+ }
35+
36+ // Make sure rows are rendered
37+ count ( allScrollItems ) . then ( function ( c ) {
38+ expect ( c ) . toBe ( expectedRowCount ) ;
39+ } ) ;
40+
41+ // Make sure cells are rendered
42+ count ( cells ) . then ( function ( c ) {
43+ expect ( c ) . toBe ( expectedRowCount * expectedCellsPerRow ) ;
44+ } ) ;
45+
46+ // Click on first enabled button and verify stage changes
47+ firstTextOf ( `${ stageButtons } :enabled` ) . then ( function ( text ) {
48+ expect ( text ) . toBe ( 'Pitched' ) ;
49+ clickFirstOf ( `${ stageButtons } :enabled` ) . then ( function ( ) {
50+ firstTextOf ( `${ stageButtons } :enabled` ) . then ( function ( text ) {
51+ expect ( text ) . toBe ( 'Won' ) ;
52+ } )
53+ } ) ;
54+ } )
55+
1156 browser . executeScript (
1257 'document.querySelector("scroll-app /deep/ #reset-btn").click()' ) ;
1358 browser . executeScript (
0 commit comments