‪TYPO3CMS  11.5
ArrayPaginatorTest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
21 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
22 
23 class ‪ArrayPaginatorTest extends UnitTestCase
24 {
25  protected array ‪$fixture = [];
26 
27  protected function ‪setUp(): void
28  {
29  parent::setUp();
30  $this->fixture = range(1, 14, 1);
31  }
32 
38  public function ‪integration(): void
39  {
40  self::assertCount(14, $this->fixture);
41  }
42 
47  {
48  $paginator = new ‪ArrayPaginator($this->fixture);
49 
50  self::assertSame(2, $paginator->getNumberOfPages());
51  self::assertSame(0, $paginator->getKeyOfFirstPaginatedItem());
52  self::assertSame(9, $paginator->getKeyOfLastPaginatedItem());
53  self::assertCount(10, $paginator->getPaginatedItems());
54  }
55 
60  {
61  $paginator = new ‪ArrayPaginator(
62  $this->fixture,
63  1,
64  3
65  );
66 
67  self::assertSame(5, $paginator->getNumberOfPages());
68  self::assertSame(0, $paginator->getKeyOfFirstPaginatedItem());
69  self::assertSame(2, $paginator->getKeyOfLastPaginatedItem());
70  self::assertCount(3, $paginator->getPaginatedItems());
71  }
72 
77  {
78  $paginator = new ‪ArrayPaginator(
79  $this->fixture,
80  3,
81  3
82  );
83 
84  self::assertSame(5, $paginator->getNumberOfPages());
85  self::assertSame(6, $paginator->getKeyOfFirstPaginatedItem());
86  self::assertSame(8, $paginator->getKeyOfLastPaginatedItem());
87  self::assertCount(3, $paginator->getPaginatedItems());
88  }
89 
94  {
95  $paginator = new ‪ArrayPaginator(
96  $this->fixture,
97  5,
98  3
99  );
100 
101  self::assertSame(5, $paginator->getNumberOfPages());
102  self::assertSame(12, $paginator->getKeyOfFirstPaginatedItem());
103  self::assertSame(13, $paginator->getKeyOfLastPaginatedItem());
104  self::assertCount(2, $paginator->getPaginatedItems());
105  }
106 
111  {
112  $this->expectExceptionCode(1573047338);
113 
114  $paginator = new ‪ArrayPaginator(
115  $this->fixture,
116  1,
117  3
118  );
119  $paginator->withCurrentPageNumber(0);
120  }
121 
126  {
127  $paginator = new ‪ArrayPaginator(
128  $this->fixture,
129  3,
130  10
131  );
132 
133  self::assertEquals(2, $paginator->getCurrentPageNumber());
134  self::assertEquals(2, $paginator->getNumberOfPages());
135  self::assertCount(4, $paginator->getPaginatedItems());
136  }
137 
142  {
143  $paginator = new ‪ArrayPaginator(
144  $this->fixture,
145  1,
146  50
147  );
148 
149  self::assertSame(1, $paginator->getNumberOfPages());
150  self::assertSame(0, $paginator->getKeyOfFirstPaginatedItem());
151  self::assertSame(13, $paginator->getKeyOfLastPaginatedItem());
152  self::assertCount(14, $paginator->getPaginatedItems());
153  }
154 }
‪TYPO3\CMS\Core\Tests\Unit\Pagination\ArrayPaginatorTest\setUp
‪setUp()
Definition: ArrayPaginatorTest.php:27
‪TYPO3\CMS\Core\Tests\Unit\Pagination\ArrayPaginatorTest\paginatorSetsCurrentPageToLastPageIfCurrentPageExceedsMaximum
‪paginatorSetsCurrentPageToLastPageIfCurrentPageExceedsMaximum()
Definition: ArrayPaginatorTest.php:125
‪TYPO3\CMS\Core\Tests\Unit\Pagination\ArrayPaginatorTest
Definition: ArrayPaginatorTest.php:24
‪TYPO3\CMS\Core\Tests\Unit\Pagination\ArrayPaginatorTest\paginatorRespectsItemsPerPageConfiguration
‪paginatorRespectsItemsPerPageConfiguration()
Definition: ArrayPaginatorTest.php:59
‪TYPO3\CMS\Core\Tests\Unit\Pagination\ArrayPaginatorTest\checkPaginatorWithDefaultConfiguration
‪checkPaginatorWithDefaultConfiguration()
Definition: ArrayPaginatorTest.php:46
‪TYPO3\CMS\Core\Tests\Unit\Pagination
Definition: ArrayPaginatorTest.php:18
‪TYPO3\CMS\Core\Tests\Unit\Pagination\ArrayPaginatorTest\paginatorProperlyCalculatesLastPage
‪paginatorProperlyCalculatesLastPage()
Definition: ArrayPaginatorTest.php:93
‪TYPO3\CMS\Core\Tests\Unit\Pagination\ArrayPaginatorTest\withCurrentPageNumberThrowsInvalidArgumentExceptionIfCurrentPageIsLowerThanOne
‪withCurrentPageNumberThrowsInvalidArgumentExceptionIfCurrentPageIsLowerThanOne()
Definition: ArrayPaginatorTest.php:110
‪TYPO3\CMS\Core\Pagination\ArrayPaginator
Definition: ArrayPaginator.php:21
‪TYPO3\CMS\Core\Tests\Unit\Pagination\ArrayPaginatorTest\integration
‪integration()
Definition: ArrayPaginatorTest.php:38
‪TYPO3\CMS\Core\Tests\Unit\Pagination\ArrayPaginatorTest\$fixture
‪array $fixture
Definition: ArrayPaginatorTest.php:25
‪TYPO3\CMS\Core\Tests\Unit\Pagination\ArrayPaginatorTest\paginatorRespectsItemsPerPageConfigurationAndCurrentPage
‪paginatorRespectsItemsPerPageConfigurationAndCurrentPage()
Definition: ArrayPaginatorTest.php:76
‪TYPO3\CMS\Core\Tests\Unit\Pagination\ArrayPaginatorTest\paginatorProperlyCalculatesOnlyOnePage
‪paginatorProperlyCalculatesOnlyOnePage()
Definition: ArrayPaginatorTest.php:141