@@ -29,6 +29,7 @@ describe('CdkVirtualScrollViewport', () => {
29
29
viewport . setRenderedContentOffset (
30
30
'arbitrary string as offset' as any , 'arbitrary string as to' as any ) ;
31
31
fixture . detectChanges ( ) ;
32
+ flush ( ) ;
32
33
33
34
expect ( ( viewport . _renderedContentTransform as any ) . changingThisBreaksApplicationSecurity )
34
35
. toBe ( 'translateY(NaNpx)' ) ;
@@ -58,11 +59,13 @@ describe('CdkVirtualScrollViewport', () => {
58
59
it ( 'should update viewport size' , fakeAsync ( ( ) => {
59
60
testComponent . viewportSize = 300 ;
60
61
fixture . detectChanges ( ) ;
62
+ flush ( ) ;
61
63
viewport . checkViewportSize ( ) ;
62
64
expect ( viewport . getViewportSize ( ) ) . toBe ( 300 ) ;
63
65
64
66
testComponent . viewportSize = 500 ;
65
67
fixture . detectChanges ( ) ;
68
+ flush ( ) ;
66
69
viewport . checkViewportSize ( ) ;
67
70
expect ( viewport . getViewportSize ( ) ) . toBe ( 500 ) ;
68
71
} ) ) ;
@@ -78,6 +81,7 @@ describe('CdkVirtualScrollViewport', () => {
78
81
finishInit ( fixture ) ;
79
82
triggerScroll ( viewport , testComponent . itemSize + 5 ) ;
80
83
fixture . detectChanges ( ) ;
84
+ flush ( ) ;
81
85
82
86
expect ( viewport . getOffsetToRenderedContentStart ( ) ) . toBe ( testComponent . itemSize ,
83
87
'should have 50px offset since first 50px item is not rendered' ) ;
@@ -87,6 +91,7 @@ describe('CdkVirtualScrollViewport', () => {
87
91
finishInit ( fixture ) ;
88
92
triggerScroll ( viewport , testComponent . itemSize + 5 ) ;
89
93
fixture . detectChanges ( ) ;
94
+ flush ( ) ;
90
95
91
96
expect ( viewport . measureScrollOffset ( ) ) . toBe ( testComponent . itemSize + 5 ) ;
92
97
} ) ) ;
@@ -110,6 +115,7 @@ describe('CdkVirtualScrollViewport', () => {
110
115
finishInit ( fixture ) ;
111
116
viewport . setTotalContentSize ( 10000 ) ;
112
117
fixture . detectChanges ( ) ;
118
+ flush ( ) ;
113
119
114
120
expect ( viewport . elementRef . nativeElement . scrollHeight ) . toBe ( 10000 ) ;
115
121
} ) ) ;
@@ -118,6 +124,7 @@ describe('CdkVirtualScrollViewport', () => {
118
124
finishInit ( fixture ) ;
119
125
viewport . setRenderedRange ( { start : 2 , end : 3 } ) ;
120
126
fixture . detectChanges ( ) ;
127
+ flush ( ) ;
121
128
122
129
const items = fixture . elementRef . nativeElement . querySelectorAll ( '.item' ) ;
123
130
expect ( items . length ) . toBe ( 1 , 'Expected 1 item to be rendered' ) ;
@@ -128,6 +135,7 @@ describe('CdkVirtualScrollViewport', () => {
128
135
finishInit ( fixture ) ;
129
136
viewport . setRenderedContentOffset ( 10 , 'to-start' ) ;
130
137
fixture . detectChanges ( ) ;
138
+ flush ( ) ;
131
139
132
140
expect ( viewport . getOffsetToRenderedContentStart ( ) ) . toBe ( 10 ) ;
133
141
} ) ) ;
@@ -140,6 +148,7 @@ describe('CdkVirtualScrollViewport', () => {
140
148
141
149
viewport . setRenderedContentOffset ( contentSize + 10 , 'to-end' ) ;
142
150
fixture . detectChanges ( ) ;
151
+ flush ( ) ;
143
152
144
153
expect ( viewport . getOffsetToRenderedContentStart ( ) ) . toBe ( 10 ) ;
145
154
} ) ) ;
@@ -148,8 +157,11 @@ describe('CdkVirtualScrollViewport', () => {
148
157
finishInit ( fixture ) ;
149
158
viewport . setScrollOffset ( testComponent . itemSize * 2 ) ;
150
159
fixture . detectChanges ( ) ;
160
+ flush ( ) ;
161
+
151
162
triggerScroll ( viewport ) ;
152
163
fixture . detectChanges ( ) ;
164
+ flush ( ) ;
153
165
154
166
expect ( viewport . elementRef . nativeElement . scrollTop ) . toBe ( testComponent . itemSize * 2 ) ;
155
167
expect ( viewport . getRenderedRange ( ) ) . toEqual ( { start : 2 , end : 6 } ) ;
@@ -163,6 +175,7 @@ describe('CdkVirtualScrollViewport', () => {
163
175
for ( let offset = 0 ; offset <= maxOffset ; offset += 10 ) {
164
176
triggerScroll ( viewport , offset ) ;
165
177
fixture . detectChanges ( ) ;
178
+ flush ( ) ;
166
179
167
180
const expectedRange = {
168
181
start : Math . floor ( offset / testComponent . itemSize ) ,
@@ -188,6 +201,7 @@ describe('CdkVirtualScrollViewport', () => {
188
201
for ( let offset = maxOffset ; offset >= 0 ; offset -= 10 ) {
189
202
triggerScroll ( viewport , offset ) ;
190
203
fixture . detectChanges ( ) ;
204
+ flush ( ) ;
191
205
192
206
const expectedRange = {
193
207
start : Math . floor ( offset / testComponent . itemSize ) ,
@@ -220,6 +234,7 @@ describe('CdkVirtualScrollViewport', () => {
220
234
finishInit ( fixture ) ;
221
235
triggerScroll ( viewport , testComponent . itemSize * 2 ) ;
222
236
fixture . detectChanges ( ) ;
237
+ flush ( ) ;
223
238
224
239
expect ( viewport . getRenderedRange ( ) ) . toEqual ( { start : 1 , end : 7 } ,
225
240
'should render 6 50px items to fill 200px space, plus one buffer element at the' +
@@ -231,6 +246,7 @@ describe('CdkVirtualScrollViewport', () => {
231
246
finishInit ( fixture ) ;
232
247
triggerScroll ( viewport , testComponent . itemSize * 6 ) ;
233
248
fixture . detectChanges ( ) ;
249
+ flush ( ) ;
234
250
235
251
expect ( viewport . getRenderedRange ( ) ) . toEqual ( { start : 5 , end : 10 } ,
236
252
'should render the last 5 50px items to fill 200px space, plus one buffer element at' +
@@ -241,12 +257,14 @@ describe('CdkVirtualScrollViewport', () => {
241
257
finishInit ( fixture ) ;
242
258
triggerScroll ( viewport , testComponent . itemSize * 2 ) ;
243
259
fixture . detectChanges ( ) ;
260
+ flush ( ) ;
244
261
245
262
expect ( viewport . getRenderedRange ( ) )
246
263
. toEqual ( { start : 2 , end : 6 } , 'should render 4 50px items to fill 200px space' ) ;
247
264
248
265
testComponent . itemSize *= 2 ;
249
266
fixture . detectChanges ( ) ;
267
+ flush ( ) ;
250
268
251
269
expect ( viewport . getRenderedRange ( ) )
252
270
. toEqual ( { start : 1 , end : 3 } , 'should render 2 100px items to fill 200px space' ) ;
@@ -256,12 +274,14 @@ describe('CdkVirtualScrollViewport', () => {
256
274
finishInit ( fixture ) ;
257
275
triggerScroll ( viewport , testComponent . itemSize * 2 ) ;
258
276
fixture . detectChanges ( ) ;
277
+ flush ( ) ;
259
278
260
279
expect ( viewport . getRenderedRange ( ) )
261
280
. toEqual ( { start : 2 , end : 6 } , 'should render 4 50px items to fill 200px space' ) ;
262
281
263
282
testComponent . bufferSize = 1 ;
264
283
fixture . detectChanges ( ) ;
284
+ flush ( ) ;
265
285
266
286
expect ( viewport . getRenderedRange ( ) )
267
287
. toEqual ( { start : 1 , end : 7 } , 'should expand to 1 buffer element on each side' ) ;
@@ -271,14 +291,18 @@ describe('CdkVirtualScrollViewport', () => {
271
291
finishInit ( fixture ) ;
272
292
triggerScroll ( viewport , testComponent . itemSize * 6 ) ;
273
293
fixture . detectChanges ( ) ;
294
+ flush ( ) ;
274
295
275
296
expect ( viewport . getOffsetToRenderedContentStart ( ) )
276
297
. toBe ( testComponent . itemSize * 6 , 'should be scrolled to bottom of 10 item list' ) ;
277
298
278
299
testComponent . items = Array ( 5 ) . fill ( 0 ) ;
279
300
fixture . detectChanges ( ) ;
301
+ flush ( ) ;
302
+
280
303
triggerScroll ( viewport ) ;
281
304
fixture . detectChanges ( ) ;
305
+ flush ( ) ;
282
306
283
307
expect ( viewport . getOffsetToRenderedContentStart ( ) )
284
308
. toBe ( testComponent . itemSize , 'should be scrolled to bottom of 5 item list' ) ;
@@ -293,6 +317,7 @@ describe('CdkVirtualScrollViewport', () => {
293
317
for ( let offset = 0 ; offset <= maxOffset ; offset += 10 ) {
294
318
triggerScroll ( viewport , offset ) ;
295
319
fixture . detectChanges ( ) ;
320
+ flush ( ) ;
296
321
297
322
const expectedRange = {
298
323
start : Math . floor ( offset / testComponent . itemSize ) ,
@@ -319,6 +344,7 @@ describe('CdkVirtualScrollViewport', () => {
319
344
for ( let offset = maxOffset ; offset >= 0 ; offset -= 10 ) {
320
345
triggerScroll ( viewport , offset ) ;
321
346
fixture . detectChanges ( ) ;
347
+ flush ( ) ;
322
348
323
349
const expectedRange = {
324
350
start : Math . floor ( offset / testComponent . itemSize ) ,
@@ -346,6 +372,7 @@ describe('CdkVirtualScrollViewport', () => {
346
372
347
373
data . next ( [ 1 , 2 , 3 ] ) ;
348
374
fixture . detectChanges ( ) ;
375
+ flush ( ) ;
349
376
350
377
expect ( viewport . getRenderedRange ( ) )
351
378
. toEqual ( { start : 0 , end : 3 } , 'newly emitted items should be rendered' ) ;
@@ -355,7 +382,6 @@ describe('CdkVirtualScrollViewport', () => {
355
382
const data = new Subject < number [ ] > ( ) ;
356
383
testComponent . items = new ArrayDataSource ( data ) as any ;
357
384
finishInit ( fixture ) ;
358
- flush ( ) ;
359
385
360
386
expect ( viewport . getRenderedRange ( ) )
361
387
. toEqual ( { start : 0 , end : 0 } , 'no items should be rendered' ) ;
@@ -375,11 +401,13 @@ describe('CdkVirtualScrollViewport', () => {
375
401
376
402
testComponent . items = [ 0 ] ;
377
403
fixture . detectChanges ( ) ;
404
+ flush ( ) ;
378
405
379
406
expect ( testComponent . virtualForViewContainer . detach ) . not . toHaveBeenCalled ( ) ;
380
407
381
408
testComponent . items = [ 1 ] ;
382
409
fixture . detectChanges ( ) ;
410
+ flush ( ) ;
383
411
384
412
expect ( testComponent . virtualForViewContainer . detach ) . toHaveBeenCalled ( ) ;
385
413
} ) ) ;
@@ -392,11 +420,13 @@ describe('CdkVirtualScrollViewport', () => {
392
420
393
421
testComponent . items = [ 0 ] ;
394
422
fixture . detectChanges ( ) ;
423
+ flush ( ) ;
395
424
396
425
expect ( testComponent . virtualForViewContainer . detach ) . not . toHaveBeenCalled ( ) ;
397
426
398
427
testComponent . items = [ 1 ] ;
399
428
fixture . detectChanges ( ) ;
429
+ flush ( ) ;
400
430
401
431
expect ( testComponent . virtualForViewContainer . detach ) . not . toHaveBeenCalled ( ) ;
402
432
} ) ) ;
@@ -413,6 +443,7 @@ describe('CdkVirtualScrollViewport', () => {
413
443
spy . calls . reset ( ) ;
414
444
triggerScroll ( viewport , 10 ) ;
415
445
fixture . detectChanges ( ) ;
446
+ flush ( ) ;
416
447
417
448
// As we first start to scroll we need to create one more item. This is because the first item
418
449
// is still partially on screen and therefore can't be removed yet. At the same time a new
@@ -425,6 +456,7 @@ describe('CdkVirtualScrollViewport', () => {
425
456
for ( let offset = 10 ; offset <= maxOffset ; offset += 10 ) {
426
457
triggerScroll ( viewport , offset ) ;
427
458
fixture . detectChanges ( ) ;
459
+ flush ( ) ;
428
460
}
429
461
430
462
// As we scroll through the rest of the items, no new views should be created, our existing 5
@@ -445,6 +477,7 @@ describe('CdkVirtualScrollViewport', () => {
445
477
spy . calls . reset ( ) ;
446
478
triggerScroll ( viewport , 10 ) ;
447
479
fixture . detectChanges ( ) ;
480
+ flush ( ) ;
448
481
449
482
// As we first start to scroll we need to create one more item. This is because the first item
450
483
// is still partially on screen and therefore can't be removed yet. At the same time a new
@@ -457,6 +490,7 @@ describe('CdkVirtualScrollViewport', () => {
457
490
for ( let offset = 10 ; offset <= maxOffset ; offset += 10 ) {
458
491
triggerScroll ( viewport , offset ) ;
459
492
fixture . detectChanges ( ) ;
493
+ flush ( ) ;
460
494
}
461
495
462
496
// Since our template cache size is 0, as we scroll through the rest of the items, we need to
@@ -514,6 +548,7 @@ function finishInit(fixture: ComponentFixture<any>) {
514
548
515
549
// On the second cycle we render the items.
516
550
fixture . detectChanges ( ) ;
551
+ flush ( ) ;
517
552
}
518
553
519
554
/** Trigger a scroll event on the viewport (optionally setting a new scroll offset). */
0 commit comments