Skip to content

Commit a3f29a7

Browse files
committed
specs refactoring: move scroll event triggering to init level
1 parent a07daf0 commit a3f29a7

File tree

5 files changed

+24
-92
lines changed

5 files changed

+24
-92
lines changed

test/AdapterTestsSpec.js

Lines changed: 7 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1460,7 +1460,6 @@ describe('uiScroll', function () {
14601460
expect(scope.adapter.isEOF()).toBe(false);
14611461

14621462
viewport.scrollTop(10000);
1463-
viewport.trigger('scroll');
14641463

14651464
expect(scope.adapter.isEOF()).toBe(true);
14661465
expect(scope.adapter.bottomVisible).toBe('item99');
@@ -1479,18 +1478,12 @@ describe('uiScroll', function () {
14791478
expect(scope.adapter.bottomVisible).toBe('item4');
14801479

14811480
viewport.scrollTop(10);
1482-
viewport.trigger('scroll');
1483-
14841481
expect(scope.adapter.bottomVisible).toBe('item5');
14851482

14861483
viewport.scrollTop(20);
1487-
viewport.trigger('scroll');
1488-
14891484
expect(scope.adapter.bottomVisible).toBe('item5');
14901485

14911486
viewport.scrollTop(30);
1492-
viewport.trigger('scroll');
1493-
14941487
expect(scope.adapter.bottomVisible).toBe('item6');
14951488
}
14961489
);
@@ -1502,13 +1495,9 @@ describe('uiScroll', function () {
15021495
expect(scope.adapter.bottomVisible).toBe('item4');
15031496

15041497
viewport.scrollTop(1000);
1505-
viewport.trigger('scroll');
1506-
15071498
expect(scope.adapter.bottomVisible).toBe('item10');
15081499

15091500
viewport.scrollTop(1000);
1510-
viewport.trigger('scroll');
1511-
15121501
expect(scope.adapter.bottomVisible).toBe('item20');
15131502
}
15141503
);
@@ -1522,12 +1511,12 @@ describe('uiScroll', function () {
15221511
it('should not clip after 1 small pack appended', function () {
15231512
runTest(scrollSettings,
15241513
function (viewport, scope) {
1525-
15261514
expect(scope.adapter.isEOF()).toBe(true);
1527-
scope.adapter.append(['item1*', 'item2*', 'item3*']);
15281515

1516+
scope.adapter.append(['item1*', 'item2*', 'item3*']);
15291517
expect(scope.adapter.isEOF()).toBe(true);
15301518
expect(viewport.children().length).toBe(2 + 3 + 3);
1519+
15311520
var lastRow = viewport.children()[viewport.children().length - 2];
15321521
expect(lastRow.innerHTML).toBe('6: item3*');
15331522
}
@@ -1537,18 +1526,15 @@ describe('uiScroll', function () {
15371526
it('should clip 1 bottom item from the 1 big pack appended', function () {
15381527
runTest(scrollSettings,
15391528
function (viewport, scope) {
1540-
15411529
expect(scope.adapter.isEOF()).toBe(true);
1542-
scope.adapter.append(['item1*', 'item2*', 'item3*', 'item4*']);
15431530

1531+
scope.adapter.append(['item1*', 'item2*', 'item3*', 'item4*']);
15441532
expect(scope.adapter.isEOF()).toBe(false);
15451533

15461534
viewport.scrollTop(10000);
1547-
viewport.trigger('scroll');
1548-
15491535
expect(scope.adapter.isEOF()).toBe(true);
1550-
15511536
expect(viewport.children().length).toBe(2 + 3 + 3);
1537+
15521538
var lastRow = viewport.children()[viewport.children().length - 2];
15531539
expect(lastRow.innerHTML).toBe('6: item3*');
15541540
}
@@ -1561,19 +1547,18 @@ describe('uiScroll', function () {
15611547

15621548
scope.adapter.append(['item1*', 'item2*', 'item3*', 'item4*']);
15631549
expect(viewport.children().length).toBe(2 + 3 + 3);
1564-
viewport.scrollTop(3 * 20);
1565-
viewport.trigger('scroll');
15661550

1551+
viewport.scrollTop(3 * 20);
15671552
scope.adapter.append(['item4*', 'item5*', 'item6*', 'item7*']);
15681553
expect(viewport.children().length).toBe(2 + 3 + 3 + 3);
1569-
viewport.scrollTop(3 * 20 * 2);
1570-
viewport.trigger('scroll');
15711554

1555+
viewport.scrollTop(3 * 20 * 2);
15721556
scope.adapter.append(['item7*', 'item8*', 'item9*', 'item10*']);
15731557
expect(viewport.children().length).toBe(2 + 3 + 3 + 3);
15741558

15751559
var firstRow = viewport.children()[1];
15761560
expect(firstRow.innerHTML).toBe('4: item1*');
1561+
15771562
var lastRow = viewport.children()[viewport.children().length - 2];
15781563
expect(lastRow.innerHTML).toBe('12: item9*');
15791564
}
@@ -1599,8 +1584,6 @@ describe('uiScroll', function () {
15991584
runTest(scrollSettings,
16001585
function (viewport, scope) {
16011586
viewport.scrollTop(10000);
1602-
viewport.trigger('scroll');
1603-
16041587
expect(scope.adapter.bufferFirst).toBe('item5');
16051588
expect(scope.adapter.bufferLast).toBe('item20');
16061589
expect(scope.adapter.bufferLength).toBe(16);

test/BasicTestsSpec.js

Lines changed: 4 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,6 @@ describe('uiScroll', function () {
155155
runTest(scrollSettings,
156156
function (viewport) {
157157
viewport.scrollTop(100);
158-
viewport.trigger('scroll');
159158
inject(function () {
160159
expect(viewport.children().length).toBe(itemsWithPaddings);
161160
expect(viewport.scrollTop()).toBe(100);
@@ -180,10 +179,8 @@ describe('uiScroll', function () {
180179
runTest(scrollSettings,
181180
function (viewport) {
182181
viewport.scrollTop(100);
183-
viewport.trigger('scroll');
184182

185183
expect(spy.calls.all().length).toBe(5);
186-
187184
expect(spy.calls.all()[0].args[0]).toBe(1);
188185
expect(spy.calls.all()[1].args[0]).toBe(4);
189186
expect(spy.calls.all()[2].args[0]).toBe(7);
@@ -199,11 +196,9 @@ describe('uiScroll', function () {
199196
var itemsLoaded = 11;
200197
var itemsWithPaddings = itemsLoaded + 2;
201198
var clippedDivs = 4;
202-
viewport.scrollTop(100);
203-
viewport.trigger('scroll');
204199

200+
viewport.scrollTop(100);
205201
viewport.scrollTop(400);
206-
viewport.trigger('scroll');
207202

208203
expect(viewport.children().length).toBe(itemsWithPaddings);
209204
expect(viewport.scrollTop()).toBe(280);
@@ -229,10 +224,7 @@ describe('uiScroll', function () {
229224
var calls = 6;
230225

231226
viewport.scrollTop(100);
232-
viewport.trigger('scroll');
233-
234227
viewport.scrollTop(400);
235-
viewport.trigger('scroll');
236228

237229
expect(spy.calls.all().length).toBe(calls);
238230
expect(spy.calls.all()[0].args[0]).toBe(1);
@@ -252,13 +244,8 @@ describe('uiScroll', function () {
252244
var itemsWithPaddings = itemsLoaded + 2;
253245

254246
viewport.scrollTop(100);
255-
viewport.trigger('scroll');
256-
257247
viewport.scrollTop(400);
258-
viewport.trigger('scroll');
259-
260248
viewport.scrollTop(0);
261-
viewport.trigger('scroll');
262249

263250
expect(viewport.children().length).toBe(itemsWithPaddings);
264251
expect(viewport.scrollTop()).toBe(0);
@@ -285,13 +272,8 @@ describe('uiScroll', function () {
285272
var totalCallsNumber = 8;
286273

287274
viewport.scrollTop(100);
288-
viewport.trigger('scroll');
289-
290275
viewport.scrollTop(400);
291-
viewport.trigger('scroll');
292-
293276
viewport.scrollTop(0);
294-
viewport.trigger('scroll');
295277

296278
expect(spy.calls.all().length).toBe(totalCallsNumber);
297279
expect(spy.calls.all()[0].args[0]).toBe(1);
@@ -380,13 +362,9 @@ describe('uiScroll', function () {
380362
},
381363
function (viewport) {
382364
viewport.scrollTop(viewportHeight + itemHeight);
383-
viewport.trigger('scroll');
384-
385365
viewport.scrollTop(viewportHeight + itemHeight * 2);
386-
viewport.trigger('scroll');
387366

388367
expect(spy.calls.all().length).toBe(4);
389-
390368
expect(spy.calls.all()[0].args[0]).toBe(1);
391369
expect(spy.calls.all()[1].args[0]).toBe(4); //last full
392370
expect(spy.calls.all()[2].args[0]).toBe(-2);
@@ -413,13 +391,8 @@ describe('uiScroll', function () {
413391
},
414392
function (viewport) {
415393
viewport.scrollTop(0); //first full, scroll to -2
416-
viewport.trigger('scroll');
417-
418394
viewport.scrollTop(0); //last full, scroll to -5, bof is reached
419-
viewport.trigger('scroll');
420-
421395
viewport.scrollTop(0); //empty, no scroll occurred (-8)
422-
viewport.trigger('scroll');
423396

424397
expect(spy.calls.all().length).toBe(5);
425398
expect(spy.calls.all()[0].args[0]).toBe(1);
@@ -468,16 +441,14 @@ describe('uiScroll', function () {
468441
expect(documentScrollBubblingCount).toBe(1);
469442

470443
viewport.scrollTop(0);
471-
viewport.trigger('scroll');
472444

473445
wheelEventElement.dispatchEvent(getNewWheelEvent()); //now we are at the top but preventDefault is occurred because of bof will be reached only after next scroll trigger
474446
expect(documentScrollBubblingCount).toBe(2); //here! the only one prevented wheel-event
475447

476448
wheelEventElement.dispatchEvent(getNewWheelEvent()); //preventDefault will not occurred but document will not scroll because of viewport will be scrolled
477449
expect(documentScrollBubblingCount).toBe(3);
478450

479-
viewport.scrollTop(0);
480-
viewport.trigger('scroll'); //bof will be reached right after that
451+
viewport.scrollTop(0); //bof will be reached right after that
481452

482453
wheelEventElement.dispatchEvent(getNewWheelEvent()); //preventDefault will not occurred because of we are at the top and bof is reached
483454
expect(documentScrollBubblingCount).toBe(4);
@@ -513,7 +484,6 @@ describe('uiScroll', function () {
513484
// scroll down + expectation
514485
for(var i = 0; i < 6; i++) {
515486
viewport.scrollTop(5000);
516-
viewport.trigger('scroll');
517487
expect(Helper.getTopPadding(viewport)).toBe(itemHeight * bufferSize * (i + 1));
518488
}
519489
}
@@ -526,7 +496,6 @@ describe('uiScroll', function () {
526496
// scroll up + expectation
527497
for(var i = 0; i < 6; i++) {
528498
viewport.scrollTop(-5000);
529-
viewport.trigger('scroll');
530499
expect(Helper.getBottomPadding(viewport)).toBe(itemHeight * bufferSize * (i + 1));
531500
}
532501

@@ -543,23 +512,20 @@ describe('uiScroll', function () {
543512
// scroll down + expectation
544513
for(i = 0; i < scrollIteration; i++) {
545514
viewport.scrollTop(viewport.scrollTop() + scrollDelta);
546-
viewport.trigger('scroll');
547515
expect(Helper.getTopPadding(viewport)).toBe(itemHeight * bufferSize * (i + 1));
548516
expect(Helper.getBottomPadding(viewport)).toBe(0);
549517
}
550518

551519
// scroll up + expectation
552520
for(i = 0; i < scrollIteration; i++) {
553521
viewport.scrollTop(viewport.scrollTop() - scrollDelta);
554-
viewport.trigger('scroll');
555522
expect(Helper.getTopPadding(viewport)).toBe(itemHeight * bufferSize * (scrollIteration - i - 1));
556523
expect(Helper.getBottomPadding(viewport)).toBe(itemHeight * bufferSize * (i + 1));
557524
}
558525

559526
// further scroll up + expectation
560527
for(i = scrollIteration; i < 2*scrollIteration; i++) {
561528
viewport.scrollTop(viewport.scrollTop() - scrollDelta);
562-
viewport.trigger('scroll');
563529
expect(Helper.getTopPadding(viewport)).toBe(0);
564530
expect(Helper.getBottomPadding(viewport)).toBe(itemHeight * bufferSize * (i + 1));
565531
}
@@ -617,11 +583,8 @@ describe('uiScroll', function () {
617583
});
618584

619585
viewport.scrollTop(100); // 100 : 40 = 2.5 --> item3
620-
viewport.trigger('scroll');
621-
622-
viewport.scrollTop(300); // 300 : 40 = 7.5 --> item8
623-
viewport.trigger('scroll');
624-
586+
viewport.scrollTop(300); // 300 : 40 = 7.5 --> item8
587+
625588
expect(topVisibleChangeCount).toBe(2);
626589
}
627590
);
@@ -656,10 +619,7 @@ describe('uiScroll', function () {
656619
});
657620

658621
viewport.scrollTop(100); // 100 : 40 = 2.5 --> item3
659-
viewport.trigger('scroll');
660-
661622
viewport.scrollTop(300); // 300 : 40 = 7.5 --> item8
662-
viewport.trigger('scroll');
663623

664624
expect(topVisibleChangeCount).toBe(2);
665625
}
@@ -680,7 +640,6 @@ describe('uiScroll', function () {
680640
function (viewport, scope) {
681641
scope.adapter.disabled = true;
682642
viewport.scrollTop(1000); // scroll to bottom
683-
viewport.trigger('scroll');
684643

685644
expect(spy.calls.all().length).toBe(3); // just three initial requests
686645
}
@@ -698,8 +657,6 @@ describe('uiScroll', function () {
698657

699658
scope.adapter.disabled = true;
700659
viewport.scrollTop(1000); // scroll to bottom
701-
viewport.trigger('scroll');
702-
703660
scope.adapter.disabled = false;
704661

705662
expect(spy.calls.all().length).toBe(4); // 3 initial + 1 new requests
@@ -767,7 +724,6 @@ describe('uiScroll', function () {
767724
function (viewport, scope) {
768725

769726
viewport.scrollTop(0); // scroll to the very top
770-
viewport.trigger('scroll');
771727

772728
expect(scope.topVisible).toBe('item-9');
773729
expect(viewport.scrollTop()).toBe(400); // 1 pack (bufferSize * itemHeight) from the top

test/GridTestsSpec.js

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -222,10 +222,6 @@ describe('uiScroll', function () {
222222
runGridTest(scrollSettings,
223223
function (head, body, scope) {
224224
scope.adapter.gridAdapter.columns[2].moveBefore(1);
225-
226-
body.scrollTop(1000);
227-
body.trigger('scroll');
228-
229225
expectLastRowContents(body, ['col0', 'col2', 'col1', 'col3']);
230226
}
231227
);
@@ -255,12 +251,7 @@ describe('uiScroll', function () {
255251
it('should apply css to new elements', function () {
256252
runGridTest(scrollSettings,
257253
function (head, body, scope) {
258-
259254
scope.adapter.gridAdapter.columns[0].css(attr, value);
260-
261-
body.scrollTop(1000);
262-
body.trigger('scroll');
263-
264255
var headerElement = getHeaderElement(head, 0);
265256
var lastRowElement = getLastRowElement(body, 0);
266257
expect(headerElement.style[attr]).toBe(value);
@@ -335,10 +326,6 @@ describe('uiScroll', function () {
335326
runGridTest(scrollSettings,
336327
function (head, body, scope) {
337328
scope.adapter.gridAdapter.applyLayout(layoutCss);
338-
339-
body.scrollTop(1000);
340-
body.trigger('scroll');
341-
342329
layoutCss.forEach((column, index) => {
343330
expect(getLastRowElement(body, index).style['zIndex']).toBe(column.css['zIndex']);
344331
});
@@ -368,10 +355,6 @@ describe('uiScroll', function () {
368355
runGridTest(scrollSettings,
369356
function (head, body, scope) {
370357
applyOrderLayout(scope, [3, 2, 1, 0]);
371-
372-
body.scrollTop(1000);
373-
body.trigger('scroll');
374-
375358
expectLastRowContents(body, ['col3', 'col2', 'col1', 'col0']);
376359
}
377360
);

test/PaddingsSpec.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,12 @@ describe('uiScroll Paddings spec.', () => {
3434
function scrollBottom(viewport, count = 1) {
3535
for (var i = 0; i < count; i++) {
3636
viewport.scrollTop(99999);
37-
viewport.trigger('scroll');
3837
}
3938
}
4039

4140
function scrollTop(viewport, count = 1) {
4241
for (var i = 0; i < count; i++) {
4342
viewport.scrollTop(0);
44-
viewport.trigger('scroll');
4543
}
4644
}
4745

0 commit comments

Comments
 (0)