From 06d6b6cfc5316d3183ed8b4f3e5c2f86be6d1e54 Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Mon, 21 Mar 2022 06:59:42 +0100 Subject: [PATCH] test(cdk/scrolling): add test for contracting range Adds a test to the scrolling module for the case where the amount of data is reduced. --- .../scrolling/virtual-scroll-viewport.spec.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/cdk/scrolling/virtual-scroll-viewport.spec.ts b/src/cdk/scrolling/virtual-scroll-viewport.spec.ts index 71202b01eb6f..cbd44fedacec 100644 --- a/src/cdk/scrolling/virtual-scroll-viewport.spec.ts +++ b/src/cdk/scrolling/virtual-scroll-viewport.spec.ts @@ -104,6 +104,22 @@ describe('CdkVirtualScrollViewport', () => { .toEqual({start: 0, end: 4}); })); + it('should contract the rendered range when changing to less data', fakeAsync(() => { + finishInit(fixture); + + expect(viewport.getRenderedRange()).toEqual({start: 0, end: 4}); + + fixture.componentInstance.items = [0, 1]; + fixture.detectChanges(); + + expect(viewport.getRenderedRange()).toEqual({start: 0, end: 2}); + + fixture.componentInstance.items = []; + fixture.detectChanges(); + + expect(viewport.getRenderedRange()).toEqual({start: 0, end: 0}); + })); + it('should get the rendered content offset', fakeAsync(() => { finishInit(fixture); triggerScroll(viewport, testComponent.itemSize + 5);