diff --git a/core/modules/block/lib/Drupal/block/Tests/Views/DisplayBlockTest.php b/core/modules/block/lib/Drupal/block/Tests/Views/DisplayBlockTest.php index fd9d254717f52390e31efbe0c0fe7aba4b932e06..1cee4b806a375d4481ab01cf38736577d6e3d13a 100644 --- a/core/modules/block/lib/Drupal/block/Tests/Views/DisplayBlockTest.php +++ b/core/modules/block/lib/Drupal/block/Tests/Views/DisplayBlockTest.php @@ -174,6 +174,19 @@ protected function testDeleteBlockDisplay() { $this->assertBlockAppears($block_4); } + /** + * Tests views block plugin definitions. + */ + public function testViewsBlockPlugins() { + // Ensures that the cache setting gets to the block settings. + $instance = $this->container->get('plugin.manager.block')->createInstance('views_block:test_view_block2-block_2'); + $configuration = $instance->getConfiguration(); + $this->assertEqual($configuration['cache'], DRUPAL_NO_CACHE); + $instance = $this->container->get('plugin.manager.block')->createInstance('views_block:test_view_block2-block_3'); + $configuration = $instance->getConfiguration(); + $this->assertEqual($configuration['cache'], DRUPAL_CACHE_PER_USER); + } + /** * Test the block form for a Views block. */ diff --git a/core/modules/block/tests/modules/block_test_views/test_views/views.view.test_view_block2.yml b/core/modules/block/tests/modules/block_test_views/test_views/views.view.test_view_block2.yml index e693732ba5b98ed208abd9d3e4f3bc15abcf28d2..9b71048c49278b651b2b43b982ee773b6f50ad14 100644 --- a/core/modules/block/tests/modules/block_test_views/test_views/views.view.test_view_block2.yml +++ b/core/modules/block/tests/modules/block_test_views/test_views/views.view.test_view_block2.yml @@ -51,6 +51,16 @@ display: field: title: link_to_node: '1' + block_3: + display_plugin: block + id: block_3 + display_title: Block + position: '' + display_options: + block_caching: '2' + field: + title: + link_to_node: '1' label: test_view_block2 module: views id: test_view_block2 diff --git a/core/modules/views/lib/Drupal/views/Plugin/Block/ViewsBlock.php b/core/modules/views/lib/Drupal/views/Plugin/Block/ViewsBlock.php index 4d521a9c9b3ad6d5227e100e7ca79d737466b221..0804b55b50b7395b62081b3d45683e7315330671 100644 --- a/core/modules/views/lib/Drupal/views/Plugin/Block/ViewsBlock.php +++ b/core/modules/views/lib/Drupal/views/Plugin/Block/ViewsBlock.php @@ -56,6 +56,11 @@ public function defaultConfiguration() { $settings += $this->view->display_handler->blockSettings($settings); } + // Set custom cache settings. + if (isset($this->pluginDefinition['cache'])) { + $settings['cache'] = $this->pluginDefinition['cache']; + } + return $settings; }