diff --git a/core/modules/views/src/Tests/Plugin/PagerKernelTest.php b/core/modules/views/src/Tests/Plugin/PagerKernelTest.php new file mode 100644 index 0000000..195b27d --- /dev/null +++ b/core/modules/views/src/Tests/Plugin/PagerKernelTest.php @@ -0,0 +1,74 @@ +installEntitySchema('node'); + $this->installEntitySchema('user'); + } + + /** + * Tests pager related setter methods on ViewExecutable. + * + * @see \Drupal\views\ViewExecutable::setItemsPerPage + * @see \Drupal\views\ViewExecutable::setOffset + * @see \Drupal\views\ViewExecutable::setCurrentPage + */ + public function testSetPagerMethods() { + $view = Views::getView('test_pager_full'); + $output = $view->preview(); + + \Drupal::service('renderer')->renderPlain($output); + $this->assertIdentical(CacheBackendInterface::CACHE_PERMANENT, $output['#cache']['max-age']); + + foreach (['setItemsPerPage', 'setOffset', 'setCurrentPage'] as $method) { + // Without $keep_cacheablity. + $view = Views::getView('test_pager_full'); + $view->setDisplay('default'); + $view->{$method}(1); + $output = $view->preview(); + + \Drupal::service('renderer')->renderPlain($output); + $this->assertIdentical(0, $output['#cache']['max-age'], 'Max age set to 0 without $keep_cacheablity.'); + + // With $keep_cacheablity. + $view = Views::getView('test_pager_full'); + $view->setDisplay('default'); + $view->{$method}(1, TRUE); + $output = $view->preview(); + + \Drupal::service('renderer')->renderPlain($output); + $this->assertIdentical(CacheBackendInterface::CACHE_PERMANENT, $output['#cache']['max-age'], 'Max age kept on -1 with $keep_cacheablity.'); + } + + } + +}