core/lib/Drupal/Core/Render/Renderer.php | 2 +- core/modules/block/src/BlockViewBuilder.php | 6 ------ core/modules/filter/src/Tests/FilterAPITest.php | 2 +- core/modules/views/src/Tests/GlossaryTest.php | 2 +- .../views/src/Tests/RenderCacheIntegrationTest.php | 2 +- .../Tests/Core/Render/RendererBubblingTest.php | 16 +--------------- .../Drupal/Tests/Core/Render/RendererTest.php | 4 ++-- .../Drupal/Tests/Core/Render/RendererTestBase.php | 22 ++++++++++++++++++++++ 8 files changed, 29 insertions(+), 27 deletions(-) diff --git a/core/lib/Drupal/Core/Render/Renderer.php b/core/lib/Drupal/Core/Render/Renderer.php index 56cfe0a..40a2a9e 100644 --- a/core/lib/Drupal/Core/Render/Renderer.php +++ b/core/lib/Drupal/Core/Render/Renderer.php @@ -186,7 +186,7 @@ protected function doRender(&$elements, $is_root_call = FALSE) { // Try to fetch the prerendered element from cache, run any // #post_render_cache callbacks and return the final markup. $pre_bubbling_cid = NULL; - if (isset($elements['#cache']['keys']) || isset($elements['#cache']['cid'])) { + if (isset($elements['#cache']['keys'])) { $cached_element = $this->cacheGet($elements); if ($cached_element !== FALSE) { $elements = $cached_element; diff --git a/core/modules/block/src/BlockViewBuilder.php b/core/modules/block/src/BlockViewBuilder.php index f8dc760..db9ebbe 100644 --- a/core/modules/block/src/BlockViewBuilder.php +++ b/core/modules/block/src/BlockViewBuilder.php @@ -36,12 +36,6 @@ public function view(EntityInterface $entity, $view_mode = 'full', $langcode = N * {@inheritdoc} */ public function viewMultiple(array $entities = array(), $view_mode = 'full', $langcode = NULL) { - // @todo Remove when https://www.drupal.org/node/2453059 lands. - $default_cache_contexts = [ - 'languages', - 'theme', - ]; - /** @var \Drupal\block\BlockInterface[] $entities */ $build = array(); foreach ($entities as $entity) { diff --git a/core/modules/filter/src/Tests/FilterAPITest.php b/core/modules/filter/src/Tests/FilterAPITest.php index a4f14e2..b3801aa 100644 --- a/core/modules/filter/src/Tests/FilterAPITest.php +++ b/core/modules/filter/src/Tests/FilterAPITest.php @@ -265,7 +265,7 @@ function testProcessedTextElement() { 'languages:' . LanguageInterface::TYPE_INTERFACE, 'theme', ]; - $this->assertEqual($expected_cache_contexts, $build['#cache']['contexts']); //, 'Expected cache contexts present.'); + $this->assertEqual($expected_cache_contexts, $build['#cache']['contexts'], 'Expected cache contexts present.'); $expected_markup = '
Hello, world!
This is a dynamic llama.
'; $this->assertEqual($expected_markup, $build['#markup'], 'Expected #post_render_cache callback has been applied.'); } diff --git a/core/modules/views/src/Tests/GlossaryTest.php b/core/modules/views/src/Tests/GlossaryTest.php index b206f03..91ccead 100644 --- a/core/modules/views/src/Tests/GlossaryTest.php +++ b/core/modules/views/src/Tests/GlossaryTest.php @@ -88,7 +88,7 @@ public function testGlossaryView() { // Verify cache tags. $this->enablePageCaching(); - $this->assertPageCacheContextsAndTags(Url::fromRoute('view.glossary.page_1'), ['languages:' . LanguageInterface::TYPE_INTERFACE, 'theme', 'url', 'user.node_grants:view'], [ + $this->assertPageCacheContextsAndTags(Url::fromRoute('view.glossary.page_1'), ['languages', 'theme', 'url', 'user.node_grants:view'], [ 'config:views.view.glossary', 'node:' . $nodes_by_char['a'][0]->id(), 'node:' . $nodes_by_char['a'][1]->id(), 'node:' . $nodes_by_char['a'][2]->id(), 'node_list', diff --git a/core/modules/views/src/Tests/RenderCacheIntegrationTest.php b/core/modules/views/src/Tests/RenderCacheIntegrationTest.php index 144f868..4eda894 100644 --- a/core/modules/views/src/Tests/RenderCacheIntegrationTest.php +++ b/core/modules/views/src/Tests/RenderCacheIntegrationTest.php @@ -222,7 +222,7 @@ public function testViewAddCacheMetadata() { $view = View::load('test_display'); $view->save(); - $this->assertEqual(['languages:' . LanguageInterface::TYPE_INTERFACE, 'user', 'user.node_grants:view'], $view->getDisplay('default')['cache_metadata']['contexts']); + $this->assertEqual(['languages', 'languages:' . LanguageInterface::TYPE_INTERFACE, 'user.node_grants:view'], $view->getDisplay('default')['cache_metadata']['contexts']); } } diff --git a/core/tests/Drupal/Tests/Core/Render/RendererBubblingTest.php b/core/tests/Drupal/Tests/Core/Render/RendererBubblingTest.php index 73e8dca..7e5abf4 100644 --- a/core/tests/Drupal/Tests/Core/Render/RendererBubblingTest.php +++ b/core/tests/Drupal/Tests/Core/Render/RendererBubblingTest.php @@ -9,6 +9,7 @@ use Drupal\Core\KeyValueStore\KeyValueMemoryFactory; use Drupal\Core\Render\Element; +use Drupal\Core\Render\Renderer; use Drupal\Core\State\State; use Drupal\Core\Cache\Cache; @@ -253,21 +254,6 @@ public function testConditionalCacheContextBubblingSelfHealing() { $this->setUpRequest(); $this->setupMemoryCache(); - $this->cacheContexts->expects($this->any()) - ->method('convertTokensToKeys') - ->willReturnCallback(function($context_tokens) { - global $current_user_role; - $keys = []; - foreach ($context_tokens as $context_id) { - if ($context_id === 'user.roles') { - $keys[] = 'r.' . $current_user_role; - } - else { - $keys[] = $context_id; - } - } - return $keys; - }); $test_element = [ '#cache' => [ diff --git a/core/tests/Drupal/Tests/Core/Render/RendererTest.php b/core/tests/Drupal/Tests/Core/Render/RendererTest.php index f061ba8..dbcb7fa 100644 --- a/core/tests/Drupal/Tests/Core/Render/RendererTest.php +++ b/core/tests/Drupal/Tests/Core/Render/RendererTest.php @@ -576,7 +576,7 @@ public function testRenderCache() { $this->assertEquals($expected_tags, $element['#cache']['tags'], 'Cache tags were collected from the element and its subchild.'); // The cache item also has a 'rendered' cache tag. - $cache_item = $this->cacheFactory->get('render')->get('render_cache_test'); + $cache_item = $this->cacheFactory->get('render')->get('render_cache_test:en:stark'); $this->assertSame(Cache::mergeTags($expected_tags, ['rendered']), $cache_item->tags); } @@ -602,7 +602,7 @@ public function testRenderCacheMaxAge($max_age, $is_render_cached, $render_cache ]; $this->renderer->render($element); - $cache_item = $this->cacheFactory->get('render')->get('render_cache_test'); + $cache_item = $this->cacheFactory->get('render')->get('render_cache_test:en:stark'); if (!$is_render_cached) { $this->assertFalse($cache_item); } diff --git a/core/tests/Drupal/Tests/Core/Render/RendererTestBase.php b/core/tests/Drupal/Tests/Core/Render/RendererTestBase.php index 37af842..28aec89 100644 --- a/core/tests/Drupal/Tests/Core/Render/RendererTestBase.php +++ b/core/tests/Drupal/Tests/Core/Render/RendererTestBase.php @@ -96,6 +96,28 @@ protected function setUp() { $this->cacheContexts = $this->getMockBuilder('Drupal\Core\Cache\CacheContexts') ->disableOriginalConstructor() ->getMock(); + $this->cacheContexts->expects($this->any()) + ->method('convertTokensToKeys') + ->willReturnCallback(function($context_tokens) { + global $current_user_role; + $keys = []; + foreach ($context_tokens as $context_id) { + switch ($context_id) { + case 'user.roles': + $keys[] = 'r.' . $current_user_role; + break; + case 'languages:language_interface': + $keys[] = 'en'; + break; + case 'theme': + $keys[] = 'stark'; + break; + default: + $keys[] = $context_id; + } + } + return $keys; + }); $this->renderer = new Renderer($this->controllerResolver, $this->themeManager, $this->elementInfo, $this->requestStack, $this->cacheFactory, $this->cacheContexts, $this->rendererConfig); $container = new ContainerBuilder();