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[[api-linebreak]] @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.