diff --git a/src/main/java/org/springframework/data/domain/Chunk.java b/src/main/java/org/springframework/data/domain/Chunk.java index d1397ca73..8bd7f8c18 100644 --- a/src/main/java/org/springframework/data/domain/Chunk.java +++ b/src/main/java/org/springframework/data/domain/Chunk.java @@ -70,7 +70,7 @@ abstract class Chunk implements Slice, Serializable { * @see org.springframework.data.domain.Slice#getSize() */ public int getSize() { - return pageable.isPaged() ? pageable.getPageSize() : 0; + return pageable.isPaged() ? pageable.getPageSize() : content.size(); } /* diff --git a/src/test/java/org/springframework/data/domain/PageImplUnitTests.java b/src/test/java/org/springframework/data/domain/PageImplUnitTests.java index ae026c4ed..60c98ffbb 100755 --- a/src/test/java/org/springframework/data/domain/PageImplUnitTests.java +++ b/src/test/java/org/springframework/data/domain/PageImplUnitTests.java @@ -161,4 +161,15 @@ public class PageImplUnitTests { assertThat(new PageImpl<>(Collections. emptyList(), PageRequest.of(1, 10), 0).getTotalElements()) .isEqualTo(0L); } + + @Test // DATACMNS-1613 + public void usesContentLengthForSizeIfNoPageableGiven() { + + Page page = new PageImpl<>(Arrays.asList(1, 2)); + + assertThat(page.getSize()).isEqualTo(2); + assertThat(page.getTotalPages()).isEqualTo(1); + assertThat(page.hasPrevious()).isFalse(); + assertThat(page.hasNext()).isFalse(); + } }