function RendererPlaceholdersTest::testNonScalarLazyBuilderCallbackContext

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

Tests non scalar lazy builder callback context.

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

File

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

Class

RendererPlaceholdersTest
Tests Drupal\Core\Render\Renderer.

Namespace

Drupal\Tests\Core\Render

Code

public function testNonScalarLazyBuilderCallbackContext() : void {
  $element = [];
  $element['#lazy_builder'] = [
    '\\Drupal\\Tests\\Core\\Render\\PlaceholdersTest::callback',
    [
      'string' => 'foo',
      'bool' => TRUE,
      'int' => 1337,
      'float' => 3.14,
      'null' => NULL,
      // Array is not one of the scalar types.
'array' => [
        'hi!',
      ],
    ],
  ];
  $this->expectException(\AssertionError::class);
  $this->expectExceptionMessage("A #lazy_builder callback's context may only contain scalar values or NULL.");
  $this->renderer
    ->renderRoot($element);
}

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