diff --git a/src/ORM/PaginatedList.php b/src/ORM/PaginatedList.php index d68c2f9c1..3da3f3a57 100644 --- a/src/ORM/PaginatedList.php +++ b/src/ORM/PaginatedList.php @@ -428,7 +428,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 a77a4950d..81959467a 100644 --- a/tests/php/ORM/PaginatedListTest.php +++ b/tests/php/ORM/PaginatedListTest.php @@ -300,9 +300,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()