Loading core/includes/pager.inc +1 −1 Original line number Diff line number Diff line Loading @@ -185,7 +185,7 @@ function pager_get_query_parameters() { function template_preprocess_pager(&$variables) { $element = $variables['pager']['#element']; $parameters = $variables['pager']['#parameters']; $quantity = $variables['pager']['#quantity']; $quantity = empty($variables['pager']['#quantity']) ? 0 : $variables['pager']['#quantity']; $route_name = $variables['pager']['#route_name']; $route_parameters = isset($variables['pager']['#route_parameters']) ? $variables['pager']['#route_parameters'] : []; Loading core/modules/system/tests/src/Unit/Pager/PreprocessPagerTest.php 0 → 100644 +66 −0 Original line number Diff line number Diff line <?php namespace Drupal\Tests\system\Unit\Pager; use Drupal\Core\DependencyInjection\ContainerBuilder; use Drupal\Tests\UnitTestCase; /** * Tests pager preprocessing. * * @group system */ class PreprocessPagerTest extends UnitTestCase { /** * {@inheritdoc} */ protected function setUp() { 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); \Drupal::setContainer($container); } /** * Tests template_preprocess_pager() when an empty #quantity is passed. * * @covers ::template_preprocess_pager */ public function testQuantityNotSet() { require_once $this->root . '/core/includes/pager.inc'; $variables = [ 'pager' => [ '#element' => '', '#parameters' => [], '#quantity' => '', '#route_name' => '', '#tags' => '', ], ]; template_preprocess_pager($variables); $this->assertEquals(['first', 'previous'], array_keys($variables['items'])); } } Loading
core/includes/pager.inc +1 −1 Original line number Diff line number Diff line Loading @@ -185,7 +185,7 @@ function pager_get_query_parameters() { function template_preprocess_pager(&$variables) { $element = $variables['pager']['#element']; $parameters = $variables['pager']['#parameters']; $quantity = $variables['pager']['#quantity']; $quantity = empty($variables['pager']['#quantity']) ? 0 : $variables['pager']['#quantity']; $route_name = $variables['pager']['#route_name']; $route_parameters = isset($variables['pager']['#route_parameters']) ? $variables['pager']['#route_parameters'] : []; Loading
core/modules/system/tests/src/Unit/Pager/PreprocessPagerTest.php 0 → 100644 +66 −0 Original line number Diff line number Diff line <?php namespace Drupal\Tests\system\Unit\Pager; use Drupal\Core\DependencyInjection\ContainerBuilder; use Drupal\Tests\UnitTestCase; /** * Tests pager preprocessing. * * @group system */ class PreprocessPagerTest extends UnitTestCase { /** * {@inheritdoc} */ protected function setUp() { 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); \Drupal::setContainer($container); } /** * Tests template_preprocess_pager() when an empty #quantity is passed. * * @covers ::template_preprocess_pager */ public function testQuantityNotSet() { require_once $this->root . '/core/includes/pager.inc'; $variables = [ 'pager' => [ '#element' => '', '#parameters' => [], '#quantity' => '', '#route_name' => '', '#tags' => '', ], ]; template_preprocess_pager($variables); $this->assertEquals(['first', 'previous'], array_keys($variables['items'])); } }