diff --git a/src/ORM/PaginatedList.php b/src/ORM/PaginatedList.php index f7289e9a8..ac9d95ab2 100644 --- a/src/ORM/PaginatedList.php +++ b/src/ORM/PaginatedList.php @@ -416,7 +416,7 @@ class PaginatedList extends ListDecorator */ public function LastPage() { - return $this->CurrentPage() == $this->TotalPages(); + return $this->CurrentPage() >= $this->TotalPages(); } /** diff --git a/tests/php/ORM/PaginatedListTest.php b/tests/php/ORM/PaginatedListTest.php index fb63403d6..e00603d53 100644 --- a/tests/php/ORM/PaginatedListTest.php +++ b/tests/php/ORM/PaginatedListTest.php @@ -303,9 +303,20 @@ class PaginatedListTest extends SapphireTest $list = new PaginatedList(new ArrayList()); $list->setTotalItems(50); + $this->assertFalse($list->LastPage()); + $list->setCurrentPage(4); $this->assertFalse($list->LastPage()); $list->setCurrentPage(5); $this->assertTrue($list->LastPage()); + $list->setCurrentPage(6); + $this->assertTrue($list->LastPage()); + + $emptyList = new PaginatedList(new ArrayList()); + $emptyList->setTotalItems(0); + + $this->assertTrue($emptyList->LastPage()); + $emptyList->setCurrentPage(1); + $this->assertTrue($emptyList->LastPage()); } public function testNotLastPage()