class PagerManagerTest
Same name and namespace in other branches
- 11.x core/tests/Drupal/KernelTests/Core/Pager/PagerManagerTest.php \Drupal\KernelTests\Core\Pager\PagerManagerTest
- 10 core/tests/Drupal/KernelTests/Core/Pager/PagerManagerTest.php \Drupal\KernelTests\Core\Pager\PagerManagerTest
- 8.9.x core/tests/Drupal/KernelTests/Core/Pager/PagerManagerTest.php \Drupal\KernelTests\Core\Pager\PagerManagerTest
@group Pager
@coversDefaultClass \Drupal\Core\Pager\PagerManager
Hierarchy
- class \Drupal\KernelTests\KernelTestBase extends \Drupal\Core\DependencyInjection\ServiceProviderInterface uses \Drupal\KernelTests\AssertLegacyTrait, \Drupal\KernelTests\AssertContentTrait, \Drupal\Tests\RandomGeneratorTrait, \Drupal\Tests\ConfigTestTrait, \Drupal\Tests\ExtensionListTestTrait, \Drupal\Tests\TestRequirementsTrait, \Drupal\Tests\Traits\PhpUnitWarnings, \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait implements \PHPUnit\Framework\TestCase
- class \Drupal\KernelTests\Core\Pager\PagerManagerTest implements \Drupal\KernelTests\KernelTestBase
Expanded class hierarchy of PagerManagerTest
File
-
core/
tests/ Drupal/ KernelTests/ Core/ Pager/ PagerManagerTest.php, line 13
Namespace
Drupal\KernelTests\Core\PagerView source
class PagerManagerTest extends KernelTestBase {
/**
* @covers ::getUpdatedParameters
*/
public function testGetUpdatedParameters() {
$element = 2;
$index = 5;
$test_parameters = [
'other' => 'arbitrary',
];
$request = Request::create('http://example.com', 'GET', $test_parameters);
/** @var \Symfony\Component\HttpFoundation\RequestStack $request_stack */
$request_stack = $this->container
->get('request_stack');
$request_stack->push($request);
/** @var \Drupal\Core\Pager\PagerManagerInterface $pager_manager */
$pager_manager = $this->container
->get('pager.manager');
$pager_manager->createPager(30, 10, $element);
$query = $pager_manager->getUpdatedParameters($request->query
->all(), $element, $index);
$this->assertArrayHasKey('other', $query);
$this->assertEquals(",,{$index}", $query['page']);
}
/**
* @covers ::findPage
*/
public function testFindPage() {
$request = Request::create('http://example.com', 'GET', [
'page' => '0,10',
]);
/** @var \Symfony\Component\HttpFoundation\RequestStack $request_stack */
$request_stack = $this->container
->get('request_stack');
$request_stack->push($request);
$pager_manager = $this->container
->get('pager.manager');
$this->assertEquals(10, $pager_manager->findPage(1));
}
/**
* @covers ::getMaxPagerElementId
*
* @dataProvider providerTestGetMaxPagerElementId
*/
public function testGetMaxPagerElementId(array $elements, int $expected_max_element_id) : void {
/** @var \Drupal\Core\Pager\PagerManagerInterface $pager_manager */
$pager_manager = $this->container
->get('pager.manager');
foreach ($elements as $element) {
$pager_manager->createPager(30, 10, $element);
}
$this->assertEquals($expected_max_element_id, $pager_manager->getMaxPagerElementId());
}
/**
* Provides test cases for PagerManagerTest::testGetMaxPagerElementId().
*
* @return array
* An array of test cases, each which the following values:
* - Array of elements to pass to PagerManager::createPager().
* - The expected value returned by PagerManager::getMaxPagerElementId().
*/
public function providerTestGetMaxPagerElementId() : array {
return [
'no_pager' => [
[],
-1,
],
'single_pager' => [
[
0,
],
0,
],
'multiple_pagers' => [
[
30,
10,
20,
],
30,
],
];
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.