function RendererPlaceholdersTest::testChildrenPlusBuilder

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

Tests children plus builder.

@legacy-covers ::render @legacy-covers ::doRender

File

core/tests/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php, line 921

Class

RendererPlaceholdersTest
Tests Drupal\Core\Render\Renderer.

Namespace

Drupal\Tests\Core\Render

Code

public function testChildrenPlusBuilder() : void {
  $element = [];
  $element['#lazy_builder'] = [
    'Drupal\\Tests\\Core\\Render\\RecursivePlaceholdersTest::callback',
    [],
  ];
  $element['child_a']['#markup'] = 'Oh hai!';
  $element['child_b']['#markup'] = 'goodbye';
  $this->expectException(\AssertionError::class);
  $this->expectExceptionMessage('When a #lazy_builder callback is specified, no children can exist; all children must be generated by the #lazy_builder callback. You specified the following children: child_a, child_b.');
  $this->renderer
    ->renderRoot($element);
}

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