function RendererTest::testElementDefaultsAdded

Tests that element defaults are added.

@covers ::render @covers ::doRender

File

core/tests/Drupal/Tests/Core/Render/RendererTest.php, line 561

Class

RendererTest
@coversDefaultClass \Drupal\Core\Render\Renderer @group Render

Namespace

Drupal\Tests\Core\Render

Code

public function testElementDefaultsAdded() : void {
    $build = [
        '#type' => 'details',
    ];
    $this->renderer
        ->renderInIsolation($build);
    $this->assertTrue($build['#defaults_loaded'], "An element with a type had said type's defaults loaded.");
    $build = [
        '#lazy_builder' => [
            'Drupal\\Tests\\Core\\Render\\TestCallables::lazyBuilder',
            [
                FALSE,
            ],
        ],
        '#create_placeholder' => FALSE,
    ];
    $this->renderer
        ->renderInIsolation($build);
    $this->assertArrayNotHasKey('#defaults_loaded', $build, "A lazy builder that did not set a type had no type defaults loaded.");
    $build = [
        '#lazy_builder' => [
            'Drupal\\Tests\\Core\\Render\\TestCallables::lazyBuilder',
            [
                TRUE,
            ],
        ],
        '#create_placeholder' => FALSE,
    ];
    $this->renderer
        ->renderInIsolation($build);
    $this->assertTrue($build['#defaults_loaded'], "A lazy builder that set a type had said type's defaults loaded.");
}

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