RendererDebugTest.php

Same filename in other branches
  1. 10 core/tests/Drupal/Tests/Core/Render/RendererDebugTest.php
  2. 11.x core/tests/Drupal/Tests/Core/Render/RendererDebugTest.php

Namespace

Drupal\Tests\Core\Render

File

core/tests/Drupal/Tests/Core/Render/RendererDebugTest.php

View source
<?php

declare (strict_types=1);
namespace Drupal\Tests\Core\Render;

use function preg_replace;

/**
 * @coversDefaultClass \Drupal\Core\Render\Renderer
 * @group Render
 */
class RendererDebugTest extends RendererTestBase {
    
    /**
     * {@inheritdoc}
     */
    protected function setUp() : void {
        $this->rendererConfig['debug'] = TRUE;
        parent::setUp();
    }
    
    /**
     * Test render debug output.
     */
    public function testDebugOutput() {
        $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());
    }

}

Classes

Title Deprecated Summary
RendererDebugTest @coversDefaultClass \Drupal\Core\Render\Renderer @group Render

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