function RendererDebugTest::testDebugOutput

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

Test render debug output.

File

core/tests/Drupal/Tests/Core/Render/RendererDebugTest.php, line 27

Class

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

Namespace

Drupal\Tests\Core\Render

Code

public function testDebugOutput() : void {
  $this->setUpRequest();
  $this->setUpMemoryCache();
  $element = [
    '#cache' => [
      'keys' => [
        'render_cache_test_key',
      ],
      'tags' => [
        'render_cache_test_tag',
        'render_cache_test_tag1',
      ],
      'max-age' => 10,
    ],
    '#markup' => 'Test 1',
  ];
  $markup = $this->renderer
    ->renderRoot($element);
  $expected = <<<EOF
<!-- START RENDERER -->
<!-- CACHE-HIT: No -->
<!-- CACHE TAGS:
   * render_cache_test_tag
   * render_cache_test_tag1
-->
<!-- CACHE CONTEXTS:
   * languages:language_interface
   * theme
-->
<!-- CACHE KEYS:
   * render_cache_test_key
-->
<!-- CACHE MAX-AGE: 10 -->
<!-- PRE-BUBBLING CACHE TAGS:
   * render_cache_test_tag
   * render_cache_test_tag1
-->
<!-- PRE-BUBBLING CACHE CONTEXTS:
   * languages:language_interface
   * theme
-->
<!-- PRE-BUBBLING CACHE KEYS:
   * render_cache_test_key
-->
<!-- PRE-BUBBLING CACHE MAX-AGE: 10 -->
<!-- RENDERING TIME: 0.123456789 -->
Test 1
<!-- END RENDERER -->
EOF;
  $this->assertSame($expected, preg_replace('/RENDERING TIME: \\d{1}.\\d{9}/', 'RENDERING TIME: 0.123456789', $markup->__toString()));
  $element = [
    '#cache' => [
      'keys' => [
        'render_cache_test_key',
      ],
      'tags' => [
        'render_cache_test_tag',
        'render_cache_test_tag1',
      ],
      'max-age' => 10,
    ],
    '#markup' => 'Test 1',
  ];
  $markup = $this->renderer
    ->renderRoot($element);
  $this->assertStringContainsString('CACHE-HIT: Yes', $markup->__toString());
}

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