You are here

public function RendererPlaceholdersTest::testNonArrayReturnFromLazyBuilder in Drupal 9

Same name and namespace in other branches
  1. 10 core/tests/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php \Drupal\Tests\Core\Render\RendererPlaceholdersTest::testNonArrayReturnFromLazyBuilder()

Tests that an error is thrown if a lazy builder doesn't return an array.

File

core/tests/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php, line 968
Contains \Drupal\Tests\Core\Render\RendererPlaceholdersTest.

Class

RendererPlaceholdersTest
@coversDefaultClass \Drupal\Core\Render\Renderer @covers \Drupal\Core\Render\RenderCache @covers \Drupal\Core\Render\PlaceholderingRenderCache @group Render

Namespace

Drupal\Tests\Core\Render

Code

public function testNonArrayReturnFromLazyBuilder() : void {
  $element = [
    '#lazy_builder' => [
      '\\Drupal\\Tests\\Core\\Render\\PlaceholdersTest::callbackNonArrayReturn',
      [],
    ],
  ];
  $this
    ->expectException('AssertionError');
  $this
    ->expectExceptionMessage("#lazy_builder callbacks must return a valid renderable array, got boolean from \\Drupal\\Tests\\Core\\Render\\PlaceholdersTest::callbackNonArrayReturn");
  $this->renderer
    ->renderRoot($element);
}