diff --git a/src/Paginator/Traits/PaginatorTrait.php b/src/Paginator/Traits/PaginatorTrait.php
index 3c2e1234..0a3cb983 100644
--- a/src/Paginator/Traits/PaginatorTrait.php
+++ b/src/Paginator/Traits/PaginatorTrait.php
@@ -308,7 +308,7 @@ protected function getPreviousPageItem(?string $previousPageLink): string
*/
protected function getItemsLinks(int $startPage, int $endPage, int $currentPage, array $links): string
{
- $pagination = [];
+ $pagination = '';
for ($i = $startPage; $i <= $endPage; $i++) {
$active = $i === $currentPage ? 'class="' . Pagination::PAGINATION_CLASS_ACTIVE . '"' : '';
diff --git a/tests/Unit/Paginator/Adapters/ArrayPaginatorTest.php b/tests/Unit/Paginator/Adapters/ArrayPaginatorTest.php
index b1ceb31d..f3bfda8d 100644
--- a/tests/Unit/Paginator/Adapters/ArrayPaginatorTest.php
+++ b/tests/Unit/Paginator/Adapters/ArrayPaginatorTest.php
@@ -132,4 +132,29 @@ public function testArrayPaginatorPerPage()
{
$this->assertEquals(2, $this->paginator->perPage());
}
+
+ public function testArrayPaginatorGetPaginationRendersCurrentAndLastPage()
+ {
+ $html = $this->paginator->getPagination();
+
+ $this->assertStringContainsString('>1<', $html);
+ $this->assertStringContainsString('>3<', $html);
+ }
+
+ public function testArrayPaginatorGetPaginationRendersEllipsisForHiddenPages()
+ {
+ $html = $this->paginator->getPagination();
+
+ $this->assertStringContainsString('...', $html);
+ }
+
+ public function testArrayPaginatorGetPaginationRendersMiddlePageWhenCurrentPageIsTwo()
+ {
+ $paginator = new ArrayPaginator($this->items, 2, 2);
+
+ $html = $paginator->getPagination();
+
+ $this->assertStringContainsString('>2<', $html);
+ }
+
}
diff --git a/tests/Unit/Paginator/Adapters/ModelPaginatorTest.php b/tests/Unit/Paginator/Adapters/ModelPaginatorTest.php
index 204f0710..29dfd1cd 100644
--- a/tests/Unit/Paginator/Adapters/ModelPaginatorTest.php
+++ b/tests/Unit/Paginator/Adapters/ModelPaginatorTest.php
@@ -160,4 +160,31 @@ public function testModelPaginatorPerPage()
{
$this->assertEquals(2, $this->paginator->perPage());
}
+
+ public function testModelPaginatorGetPaginationRendersCurrentAndLastPage()
+ {
+ $html = $this->paginator->getPagination();
+
+ $this->assertStringContainsString('>1<', $html);
+ $this->assertStringContainsString('>3<', $html);
+ }
+
+ public function testModelPaginatorGetPaginationRendersEllipsisForHiddenPages()
+ {
+ $html = $this->paginator->getPagination();
+
+ $this->assertStringContainsString('...', $html);
+ }
+
+ public function testModelPaginatorGetPaginationRendersMiddlePageWhenCurrentPageIsTwo()
+ {
+ $postModel = ModelFactory::createDynamicModel('posts', TestPostModel::class);
+
+ $paginator = new ModelPaginator($postModel, 2, 2);
+
+ $html = $paginator->getPagination();
+
+ $this->assertStringContainsString('>2<', $html);
+ }
+
}