1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
<?php
namespace Illuminate\Tests\Pagination;
use Illuminate\Pagination\Paginator;
use PHPUnit\Framework\TestCase;
class PaginatorTest extends TestCase
{
public function testSimplePaginatorReturnsRelevantContextInformation()
{
$p = new Paginator($array = ['item3', 'item4', 'item5'], 2, 2);
$this->assertEquals(2, $p->currentPage());
$this->assertTrue($p->hasPages());
$this->assertTrue($p->hasMorePages());
$this->assertEquals(['item3', 'item4'], $p->items());
$pageInfo = [
'per_page' => 2,
'current_page' => 2,
'first_page_url' => '/?page=1',
'next_page_url' => '/?page=3',
'prev_page_url' => '/?page=1',
'from' => 3,
'to' => 4,
'data' => ['item3', 'item4'],
'path' => '/',
];
$this->assertEquals($pageInfo, $p->toArray());
}
public function testPaginatorRemovesTrailingSlashes()
{
$p = new Paginator($array = ['item1', 'item2', 'item3'], 2, 2,
['path' => 'http://website.com/test/']);
$this->assertSame('http://website.com/test?page=1', $p->previousPageUrl());
}
public function testPaginatorGeneratesUrlsWithoutTrailingSlash()
{
$p = new Paginator($array = ['item1', 'item2', 'item3'], 2, 2,
['path' => 'http://website.com/test']);
$this->assertSame('http://website.com/test?page=1', $p->previousPageUrl());
}
public function testItRetrievesThePaginatorOptions()
{
$p = new Paginator($array = ['item1', 'item2', 'item3'], 2, 2,
$options = ['path' => 'http://website.com/test']);
$this->assertSame($p->getOptions(), $options);
}
public function testPaginatorReturnsPath()
{
$p = new Paginator($array = ['item1', 'item2', 'item3'], 2, 2,
['path' => 'http://website.com/test']);
$this->assertSame($p->path(), 'http://website.com/test');
}
}
|