Further Drupal 8.6.4 changes. Some core files were not committed before a commit...
[yaffs-website] / web / core / modules / views / tests / src / Kernel / Plugin / PagerKernelTest.php
1 <?php
2
3 namespace Drupal\Tests\views\Kernel\Plugin;
4
5 use Drupal\Core\Cache\CacheBackendInterface;
6 use Drupal\Tests\views\Kernel\ViewsKernelTestBase;
7 use Drupal\views\Views;
8
9 /**
10  * Tests pager-related APIs.
11  *
12  * @group views
13  */
14 class PagerKernelTest extends ViewsKernelTestBase {
15
16   /**
17    * {@inheritdoc}
18    */
19   public static $testViews = ['test_pager_full'];
20
21   /**
22    * {@inheritdoc}
23    */
24   public static $modules = ['user', 'node'];
25
26   /**
27    * {@inheritdoc}
28    */
29   protected function setUp($import_test_views = TRUE) {
30     parent::setUp($import_test_views);
31
32     $this->installEntitySchema('node');
33     $this->installEntitySchema('user');
34   }
35
36   /**
37    * Tests pager-related setter methods on ViewExecutable.
38    *
39    * @see \Drupal\views\ViewExecutable::setItemsPerPage
40    * @see \Drupal\views\ViewExecutable::setOffset
41    * @see \Drupal\views\ViewExecutable::setCurrentPage
42    */
43   public function testSetPagerMethods() {
44     $view = Views::getView('test_pager_full');
45
46     // Mark the view as cacheable in order have the cache checking working
47     // below.
48     $display = &$view->storage->getDisplay('default');
49     $display['display_options']['cache']['type'] = 'tag';
50     $view->storage->save();
51
52     $output = $view->preview();
53
54     \Drupal::service('renderer')->renderPlain($output);
55     $this->assertIdentical(CacheBackendInterface::CACHE_PERMANENT, $output['#cache']['max-age']);
56
57     foreach (['setItemsPerPage', 'setOffset', 'setCurrentPage'] as $method) {
58       $view = Views::getView('test_pager_full');
59       $view->setDisplay('default');
60       $view->{$method}(1);
61       $output = $view->preview();
62
63       \Drupal::service('renderer')->renderPlain($output);
64       $this->assertIdentical(CacheBackendInterface::CACHE_PERMANENT, $output['#cache']['max-age'], 'Max age kept.');
65     }
66
67   }
68
69 }