function RendererBubblingTest::testContextBubblingEdgeCases

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Render/RendererBubblingTest.php \Drupal\Tests\Core\Render\RendererBubblingTest::testContextBubblingEdgeCases()
  2. 8.9.x core/tests/Drupal/Tests/Core/Render/RendererBubblingTest.php \Drupal\Tests\Core\Render\RendererBubblingTest::testContextBubblingEdgeCases()
  3. 11.x core/tests/Drupal/Tests/Core/Render/RendererBubblingTest.php \Drupal\Tests\Core\Render\RendererBubblingTest::testContextBubblingEdgeCases()

Tests cache context bubbling in edge cases, because it affects the CID.

::testBubblingWithPrerender() already tests the common case.

@dataProvider providerTestContextBubblingEdgeCases

File

core/tests/Drupal/Tests/Core/Render/RendererBubblingTest.php, line 138

Class

RendererBubblingTest
@coversDefaultClass \Drupal\Core\Render\Renderer[[api-linebreak]] @group Render

Namespace

Drupal\Tests\Core\Render

Code

public function testContextBubblingEdgeCases(array $element, array $expected_top_level_contexts, $expected_cache_item) : void {
  $this->setUpRequest();
  $this->setUpMemoryCache();
  $this->cacheContextsManager
    ->expects($this->any())
    ->method('convertTokensToKeys')
    ->willReturnArgument(0);
  $this->renderer
    ->renderRoot($element);
  $this->assertEqualsCanonicalizing($expected_top_level_contexts, $element['#cache']['contexts'], 'Expected cache contexts found.');
  $this->assertRenderCacheItem($element['#cache']['keys'], $expected_cache_item);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.