class PreprocessPagerTest
Same name in other branches
- 9 core/modules/system/tests/src/Unit/Pager/PreprocessPagerTest.php \Drupal\Tests\system\Unit\Pager\PreprocessPagerTest
- 8.9.x core/modules/system/tests/src/Unit/Pager/PreprocessPagerTest.php \Drupal\Tests\system\Unit\Pager\PreprocessPagerTest
- 10 core/modules/system/tests/src/Unit/Pager/PreprocessPagerTest.php \Drupal\Tests\system\Unit\Pager\PreprocessPagerTest
Tests pager preprocessing.
@group system
Hierarchy
- class \Drupal\Tests\UnitTestCase extends \PHPUnit\Framework\TestCase uses \Drupal\Tests\PhpUnitCompatibilityTrait, \Prophecy\PhpUnit\ProphecyTrait, \Drupal\TestTools\Extension\DeprecationBridge\ExpectDeprecationTrait, \Drupal\Tests\RandomGeneratorTrait
- class \Drupal\Tests\system\Unit\Pager\PreprocessPagerTest extends \Drupal\Tests\UnitTestCase
Expanded class hierarchy of PreprocessPagerTest
File
-
core/
modules/ system/ tests/ src/ Unit/ Pager/ PreprocessPagerTest.php, line 16
Namespace
Drupal\Tests\system\Unit\PagerView source
class PreprocessPagerTest extends UnitTestCase {
/**
* {@inheritdoc}
*/
protected function setUp() : void {
parent::setUp();
$pager_manager = $this->getMockBuilder('Drupal\\Core\\Pager\\PagerManager')
->disableOriginalConstructor()
->getMock();
$pager = $this->getMockBuilder('Drupal\\Core\\Pager\\Pager')
->disableOriginalConstructor()
->getMock();
$url_generator = $this->getMockBuilder('Drupal\\Core\\Routing\\UrlGenerator')
->disableOriginalConstructor()
->getMock();
$pager->method('getTotalPages')
->willReturn(2);
$pager->method('getCurrentPage')
->willReturn(1);
$url_generator->method('generateFromRoute')
->willReturn('');
$pager_manager->method('getPager')
->willReturn($pager);
$pager_manager->method('getUpdatedParameters')
->willReturn('');
$container = new ContainerBuilder();
$container->set('pager.manager', $pager_manager);
$container->set('url_generator', $url_generator);
// template_preprocess_pager() renders translatable attribute values.
$container->set('string_translation', $this->getStringTranslationStub());
\Drupal::setContainer($container);
}
/**
* Tests template_preprocess_pager() when an empty #quantity is passed.
*
* @covers ::template_preprocess_pager
*/
public function testQuantityNotSet() : void {
require_once $this->root . '/core/includes/theme.inc';
$variables = [
'pager' => [
'#element' => '',
'#parameters' => [],
'#quantity' => '',
'#route_name' => '',
'#tags' => '',
],
];
template_preprocess_pager($variables);
$this->assertEquals([
'first',
'previous',
], array_keys($variables['items']));
}
/**
* Tests template_preprocess_pager() when a #quantity value is passed.
*
* @covers ::template_preprocess_pager
*/
public function testQuantitySet() : void {
require_once $this->root . '/core/includes/theme.inc';
$variables = [
'pager' => [
'#element' => '2',
'#parameters' => [],
'#quantity' => '2',
'#route_name' => '',
'#tags' => '',
],
];
template_preprocess_pager($variables);
$this->assertEquals([
'first',
'previous',
'pages',
], array_keys($variables['items']));
/** @var \Drupal\Core\Template\AttributeString $attribute */
$attribute = $variables['items']['pages']['2']['attributes']->offsetGet('aria-current');
$this->assertInstanceOf(AttributeString::class, $attribute);
$this->assertEquals('page', $attribute->value());
}
/**
* Tests template_preprocess_pager() when an empty #pagination_heading_level value is passed.
*
* @covers ::template_preprocess_pager
*/
public function testEmptyPaginationHeadingLevelSet() : void {
require_once $this->root . '/core/includes/theme.inc';
$variables = [
'pager' => [
'#element' => '2',
'#pagination_heading_level' => '',
'#parameters' => [],
'#quantity' => '2',
'#route_name' => '',
'#tags' => '',
],
];
template_preprocess_pager($variables);
$this->assertEquals('h4', $variables['pagination_heading_level']);
}
/**
* Tests template_preprocess_pager() when no #pagination_heading_level is passed.
*
* @covers ::template_preprocess_pager
*/
public function testPaginationHeadingLevelNotSet() : void {
require_once $this->root . '/core/includes/theme.inc';
$variables = [
'pager' => [
'#element' => '',
'#parameters' => [],
'#quantity' => '',
'#route_name' => '',
'#tags' => '',
],
];
template_preprocess_pager($variables);
$this->assertEquals('h4', $variables['pagination_heading_level']);
}
/**
* Tests template_preprocess_pager() when a #pagination_heading_level value is passed.
*
* @covers ::template_preprocess_pager
*/
public function testPaginationHeadingLevelSet() : void {
require_once $this->root . '/core/includes/theme.inc';
$variables = [
'pager' => [
'#element' => '2',
'#pagination_heading_level' => 'h5',
'#parameters' => [],
'#quantity' => '2',
'#route_name' => '',
'#tags' => '',
],
];
template_preprocess_pager($variables);
$this->assertEquals('h5', $variables['pagination_heading_level']);
}
/**
* Test template_preprocess_pager() with an invalid #pagination_heading_level.
*
* @covers ::template_preprocess_pager
*/
public function testPaginationHeadingLevelInvalid() : void {
require_once $this->root . '/core/includes/theme.inc';
$variables = [
'pager' => [
'#element' => '2',
'#pagination_heading_level' => 'not-a-heading-element',
'#parameters' => [],
'#quantity' => '2',
'#route_name' => '',
'#tags' => '',
],
];
template_preprocess_pager($variables);
$this->assertEquals('h4', $variables['pagination_heading_level']);
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title |
---|---|---|---|---|
ExpectDeprecationTrait::expectDeprecation | public | function | Adds an expected deprecation. | |
ExpectDeprecationTrait::getCallableName | private static | function | Returns a callable as a string suitable for inclusion in a message. | |
ExpectDeprecationTrait::setUpErrorHandler | public | function | Sets up the test error handler. | |
ExpectDeprecationTrait::tearDownErrorHandler | public | function | Tears down the test error handler. | |
PreprocessPagerTest::setUp | protected | function | Overrides UnitTestCase::setUp | |
PreprocessPagerTest::testEmptyPaginationHeadingLevelSet | public | function | Tests template_preprocess_pager() when an empty #pagination_heading_level value is passed. | |
PreprocessPagerTest::testPaginationHeadingLevelInvalid | public | function | Test template_preprocess_pager() with an invalid #pagination_heading_level. | |
PreprocessPagerTest::testPaginationHeadingLevelNotSet | public | function | Tests template_preprocess_pager() when no #pagination_heading_level is passed. | |
PreprocessPagerTest::testPaginationHeadingLevelSet | public | function | Tests template_preprocess_pager() when a #pagination_heading_level value is passed. | |
PreprocessPagerTest::testQuantityNotSet | public | function | Tests template_preprocess_pager() when an empty #quantity is passed. | |
PreprocessPagerTest::testQuantitySet | public | function | Tests template_preprocess_pager() when a #quantity value is passed. | |
RandomGeneratorTrait::getRandomGenerator | protected | function | Gets the random generator for the utility methods. | |
RandomGeneratorTrait::randomMachineName | protected | function | Generates a unique random string containing letters and numbers. | |
RandomGeneratorTrait::randomObject | public | function | Generates a random PHP object. | |
RandomGeneratorTrait::randomString | public | function | Generates a pseudo-random string of ASCII characters of codes 32 to 126. | |
UnitTestCase::$root | protected | property | The app root. | |
UnitTestCase::getClassResolverStub | protected | function | Returns a stub class resolver. | |
UnitTestCase::getConfigFactoryStub | public | function | Returns a stub config factory that behaves according to the passed array. | |
UnitTestCase::getConfigStorageStub | public | function | Returns a stub config storage that returns the supplied configuration. | |
UnitTestCase::getContainerWithCacheTagsInvalidator | protected | function | Sets up a container with a cache tags invalidator. | |
UnitTestCase::getStringTranslationStub | public | function | Returns a stub translation manager that just returns the passed string. | |
UnitTestCase::setUpBeforeClass | public static | function |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.