Skip to content
Snippets Groups Projects
Unverified Commit 2ce5784b authored by Alex Pott's avatar Alex Pott
Browse files

Issue #3094536 by stefanos.petrakis, mcdruid, alexpott: PHP 7.1 Warning: A...

Issue #3094536 by stefanos.petrakis, mcdruid, alexpott: PHP 7.1 Warning: A non-numeric value encountered in template_preprocess_pager()

(cherry picked from commit bd584c57)
parent 0382a478
Branches
Tags
No related merge requests found
......@@ -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'] : [];
......
<?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']));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment