@@ -29,6 +29,7 @@ describe('CdkVirtualScrollViewport', () => {
2929 viewport . setRenderedContentOffset (
3030 'arbitrary string as offset' as any , 'arbitrary string as to' as any ) ;
3131 fixture . detectChanges ( ) ;
32+ flush ( ) ;
3233
3334 expect ( ( viewport . _renderedContentTransform as any ) . changingThisBreaksApplicationSecurity )
3435 . toBe ( 'translateY(NaNpx)' ) ;
@@ -58,11 +59,13 @@ describe('CdkVirtualScrollViewport', () => {
5859 it ( 'should update viewport size' , fakeAsync ( ( ) => {
5960 testComponent . viewportSize = 300 ;
6061 fixture . detectChanges ( ) ;
62+ flush ( ) ;
6163 viewport . checkViewportSize ( ) ;
6264 expect ( viewport . getViewportSize ( ) ) . toBe ( 300 ) ;
6365
6466 testComponent . viewportSize = 500 ;
6567 fixture . detectChanges ( ) ;
68+ flush ( ) ;
6669 viewport . checkViewportSize ( ) ;
6770 expect ( viewport . getViewportSize ( ) ) . toBe ( 500 ) ;
6871 } ) ) ;
@@ -78,6 +81,7 @@ describe('CdkVirtualScrollViewport', () => {
7881 finishInit ( fixture ) ;
7982 triggerScroll ( viewport , testComponent . itemSize + 5 ) ;
8083 fixture . detectChanges ( ) ;
84+ flush ( ) ;
8185
8286 expect ( viewport . getOffsetToRenderedContentStart ( ) ) . toBe ( testComponent . itemSize ,
8387 'should have 50px offset since first 50px item is not rendered' ) ;
@@ -87,6 +91,7 @@ describe('CdkVirtualScrollViewport', () => {
8791 finishInit ( fixture ) ;
8892 triggerScroll ( viewport , testComponent . itemSize + 5 ) ;
8993 fixture . detectChanges ( ) ;
94+ flush ( ) ;
9095
9196 expect ( viewport . measureScrollOffset ( ) ) . toBe ( testComponent . itemSize + 5 ) ;
9297 } ) ) ;
@@ -110,6 +115,7 @@ describe('CdkVirtualScrollViewport', () => {
110115 finishInit ( fixture ) ;
111116 viewport . setTotalContentSize ( 10000 ) ;
112117 fixture . detectChanges ( ) ;
118+ flush ( ) ;
113119
114120 expect ( viewport . elementRef . nativeElement . scrollHeight ) . toBe ( 10000 ) ;
115121 } ) ) ;
@@ -118,6 +124,7 @@ describe('CdkVirtualScrollViewport', () => {
118124 finishInit ( fixture ) ;
119125 viewport . setRenderedRange ( { start : 2 , end : 3 } ) ;
120126 fixture . detectChanges ( ) ;
127+ flush ( ) ;
121128
122129 const items = fixture . elementRef . nativeElement . querySelectorAll ( '.item' ) ;
123130 expect ( items . length ) . toBe ( 1 , 'Expected 1 item to be rendered' ) ;
@@ -128,6 +135,7 @@ describe('CdkVirtualScrollViewport', () => {
128135 finishInit ( fixture ) ;
129136 viewport . setRenderedContentOffset ( 10 , 'to-start' ) ;
130137 fixture . detectChanges ( ) ;
138+ flush ( ) ;
131139
132140 expect ( viewport . getOffsetToRenderedContentStart ( ) ) . toBe ( 10 ) ;
133141 } ) ) ;
@@ -140,6 +148,7 @@ describe('CdkVirtualScrollViewport', () => {
140148
141149 viewport . setRenderedContentOffset ( contentSize + 10 , 'to-end' ) ;
142150 fixture . detectChanges ( ) ;
151+ flush ( ) ;
143152
144153 expect ( viewport . getOffsetToRenderedContentStart ( ) ) . toBe ( 10 ) ;
145154 } ) ) ;
@@ -148,8 +157,11 @@ describe('CdkVirtualScrollViewport', () => {
148157 finishInit ( fixture ) ;
149158 viewport . setScrollOffset ( testComponent . itemSize * 2 ) ;
150159 fixture . detectChanges ( ) ;
160+ flush ( ) ;
161+
151162 triggerScroll ( viewport ) ;
152163 fixture . detectChanges ( ) ;
164+ flush ( ) ;
153165
154166 expect ( viewport . elementRef . nativeElement . scrollTop ) . toBe ( testComponent . itemSize * 2 ) ;
155167 expect ( viewport . getRenderedRange ( ) ) . toEqual ( { start : 2 , end : 6 } ) ;
@@ -163,6 +175,7 @@ describe('CdkVirtualScrollViewport', () => {
163175 for ( let offset = 0 ; offset <= maxOffset ; offset += 10 ) {
164176 triggerScroll ( viewport , offset ) ;
165177 fixture . detectChanges ( ) ;
178+ flush ( ) ;
166179
167180 const expectedRange = {
168181 start : Math . floor ( offset / testComponent . itemSize ) ,
@@ -188,6 +201,7 @@ describe('CdkVirtualScrollViewport', () => {
188201 for ( let offset = maxOffset ; offset >= 0 ; offset -= 10 ) {
189202 triggerScroll ( viewport , offset ) ;
190203 fixture . detectChanges ( ) ;
204+ flush ( ) ;
191205
192206 const expectedRange = {
193207 start : Math . floor ( offset / testComponent . itemSize ) ,
@@ -220,6 +234,7 @@ describe('CdkVirtualScrollViewport', () => {
220234 finishInit ( fixture ) ;
221235 triggerScroll ( viewport , testComponent . itemSize * 2 ) ;
222236 fixture . detectChanges ( ) ;
237+ flush ( ) ;
223238
224239 expect ( viewport . getRenderedRange ( ) ) . toEqual ( { start : 1 , end : 7 } ,
225240 'should render 6 50px items to fill 200px space, plus one buffer element at the' +
@@ -231,6 +246,7 @@ describe('CdkVirtualScrollViewport', () => {
231246 finishInit ( fixture ) ;
232247 triggerScroll ( viewport , testComponent . itemSize * 6 ) ;
233248 fixture . detectChanges ( ) ;
249+ flush ( ) ;
234250
235251 expect ( viewport . getRenderedRange ( ) ) . toEqual ( { start : 5 , end : 10 } ,
236252 'should render the last 5 50px items to fill 200px space, plus one buffer element at' +
@@ -241,12 +257,14 @@ describe('CdkVirtualScrollViewport', () => {
241257 finishInit ( fixture ) ;
242258 triggerScroll ( viewport , testComponent . itemSize * 2 ) ;
243259 fixture . detectChanges ( ) ;
260+ flush ( ) ;
244261
245262 expect ( viewport . getRenderedRange ( ) )
246263 . toEqual ( { start : 2 , end : 6 } , 'should render 4 50px items to fill 200px space' ) ;
247264
248265 testComponent . itemSize *= 2 ;
249266 fixture . detectChanges ( ) ;
267+ flush ( ) ;
250268
251269 expect ( viewport . getRenderedRange ( ) )
252270 . toEqual ( { start : 1 , end : 3 } , 'should render 2 100px items to fill 200px space' ) ;
@@ -256,12 +274,14 @@ describe('CdkVirtualScrollViewport', () => {
256274 finishInit ( fixture ) ;
257275 triggerScroll ( viewport , testComponent . itemSize * 2 ) ;
258276 fixture . detectChanges ( ) ;
277+ flush ( ) ;
259278
260279 expect ( viewport . getRenderedRange ( ) )
261280 . toEqual ( { start : 2 , end : 6 } , 'should render 4 50px items to fill 200px space' ) ;
262281
263282 testComponent . bufferSize = 1 ;
264283 fixture . detectChanges ( ) ;
284+ flush ( ) ;
265285
266286 expect ( viewport . getRenderedRange ( ) )
267287 . toEqual ( { start : 1 , end : 7 } , 'should expand to 1 buffer element on each side' ) ;
@@ -271,14 +291,18 @@ describe('CdkVirtualScrollViewport', () => {
271291 finishInit ( fixture ) ;
272292 triggerScroll ( viewport , testComponent . itemSize * 6 ) ;
273293 fixture . detectChanges ( ) ;
294+ flush ( ) ;
274295
275296 expect ( viewport . getOffsetToRenderedContentStart ( ) )
276297 . toBe ( testComponent . itemSize * 6 , 'should be scrolled to bottom of 10 item list' ) ;
277298
278299 testComponent . items = Array ( 5 ) . fill ( 0 ) ;
279300 fixture . detectChanges ( ) ;
301+ flush ( ) ;
302+
280303 triggerScroll ( viewport ) ;
281304 fixture . detectChanges ( ) ;
305+ flush ( ) ;
282306
283307 expect ( viewport . getOffsetToRenderedContentStart ( ) )
284308 . toBe ( testComponent . itemSize , 'should be scrolled to bottom of 5 item list' ) ;
@@ -293,6 +317,7 @@ describe('CdkVirtualScrollViewport', () => {
293317 for ( let offset = 0 ; offset <= maxOffset ; offset += 10 ) {
294318 triggerScroll ( viewport , offset ) ;
295319 fixture . detectChanges ( ) ;
320+ flush ( ) ;
296321
297322 const expectedRange = {
298323 start : Math . floor ( offset / testComponent . itemSize ) ,
@@ -319,6 +344,7 @@ describe('CdkVirtualScrollViewport', () => {
319344 for ( let offset = maxOffset ; offset >= 0 ; offset -= 10 ) {
320345 triggerScroll ( viewport , offset ) ;
321346 fixture . detectChanges ( ) ;
347+ flush ( ) ;
322348
323349 const expectedRange = {
324350 start : Math . floor ( offset / testComponent . itemSize ) ,
@@ -346,6 +372,7 @@ describe('CdkVirtualScrollViewport', () => {
346372
347373 data . next ( [ 1 , 2 , 3 ] ) ;
348374 fixture . detectChanges ( ) ;
375+ flush ( ) ;
349376
350377 expect ( viewport . getRenderedRange ( ) )
351378 . toEqual ( { start : 0 , end : 3 } , 'newly emitted items should be rendered' ) ;
@@ -355,7 +382,6 @@ describe('CdkVirtualScrollViewport', () => {
355382 const data = new Subject < number [ ] > ( ) ;
356383 testComponent . items = new ArrayDataSource ( data ) as any ;
357384 finishInit ( fixture ) ;
358- flush ( ) ;
359385
360386 expect ( viewport . getRenderedRange ( ) )
361387 . toEqual ( { start : 0 , end : 0 } , 'no items should be rendered' ) ;
@@ -375,11 +401,13 @@ describe('CdkVirtualScrollViewport', () => {
375401
376402 testComponent . items = [ 0 ] ;
377403 fixture . detectChanges ( ) ;
404+ flush ( ) ;
378405
379406 expect ( testComponent . virtualForViewContainer . detach ) . not . toHaveBeenCalled ( ) ;
380407
381408 testComponent . items = [ 1 ] ;
382409 fixture . detectChanges ( ) ;
410+ flush ( ) ;
383411
384412 expect ( testComponent . virtualForViewContainer . detach ) . toHaveBeenCalled ( ) ;
385413 } ) ) ;
@@ -392,11 +420,13 @@ describe('CdkVirtualScrollViewport', () => {
392420
393421 testComponent . items = [ 0 ] ;
394422 fixture . detectChanges ( ) ;
423+ flush ( ) ;
395424
396425 expect ( testComponent . virtualForViewContainer . detach ) . not . toHaveBeenCalled ( ) ;
397426
398427 testComponent . items = [ 1 ] ;
399428 fixture . detectChanges ( ) ;
429+ flush ( ) ;
400430
401431 expect ( testComponent . virtualForViewContainer . detach ) . not . toHaveBeenCalled ( ) ;
402432 } ) ) ;
@@ -413,6 +443,7 @@ describe('CdkVirtualScrollViewport', () => {
413443 spy . calls . reset ( ) ;
414444 triggerScroll ( viewport , 10 ) ;
415445 fixture . detectChanges ( ) ;
446+ flush ( ) ;
416447
417448 // As we first start to scroll we need to create one more item. This is because the first item
418449 // is still partially on screen and therefore can't be removed yet. At the same time a new
@@ -425,6 +456,7 @@ describe('CdkVirtualScrollViewport', () => {
425456 for ( let offset = 10 ; offset <= maxOffset ; offset += 10 ) {
426457 triggerScroll ( viewport , offset ) ;
427458 fixture . detectChanges ( ) ;
459+ flush ( ) ;
428460 }
429461
430462 // As we scroll through the rest of the items, no new views should be created, our existing 5
@@ -445,6 +477,7 @@ describe('CdkVirtualScrollViewport', () => {
445477 spy . calls . reset ( ) ;
446478 triggerScroll ( viewport , 10 ) ;
447479 fixture . detectChanges ( ) ;
480+ flush ( ) ;
448481
449482 // As we first start to scroll we need to create one more item. This is because the first item
450483 // is still partially on screen and therefore can't be removed yet. At the same time a new
@@ -457,6 +490,7 @@ describe('CdkVirtualScrollViewport', () => {
457490 for ( let offset = 10 ; offset <= maxOffset ; offset += 10 ) {
458491 triggerScroll ( viewport , offset ) ;
459492 fixture . detectChanges ( ) ;
493+ flush ( ) ;
460494 }
461495
462496 // 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>) {
514548
515549 // On the second cycle we render the items.
516550 fixture . detectChanges ( ) ;
551+ flush ( ) ;
517552}
518553
519554/** Trigger a scroll event on the viewport (optionally setting a new scroll offset). */
0 commit comments