Retain direction for empty KeysetScrollPosition.

We now retain the direction when an empty KeysetScrollPosition is created.

Closes #2840
This commit is contained in:
Mark Paluch
2023-07-04 15:50:46 +02:00
parent 0a6b71fc2d
commit 9af41c9729
2 changed files with 19 additions and 5 deletions

View File

@@ -129,12 +129,24 @@ class ScrollPositionUnitTests {
assertThat(position.getOffset()).isEqualTo(0);
}
@Test // GH-2824
@Test // GH-2824, GH-2840
void initialKeysetPosition() {
KeysetScrollPosition keyset = ScrollPosition.keyset();
assertThat(keyset.isInitial()).isTrue();
assertThat(keyset.scrollsForward()).isTrue();
keyset = ScrollPosition.of(Collections.emptyMap(), Direction.FORWARD);
assertThat(keyset.isInitial()).isTrue();
assertThat(keyset.scrollsForward()).isTrue();
assertThat(keyset.scrollsBackward()).isFalse();
keyset = ScrollPosition.of(Collections.emptyMap(), Direction.BACKWARD);
assertThat(keyset.isInitial()).isTrue();
assertThat(keyset.scrollsForward()).isFalse();
assertThat(keyset.scrollsBackward()).isTrue();
}
}