function AssertContentTrait::assertThemeOutput
Same name in other branches
- 8.9.x core/tests/Drupal/KernelTests/AssertContentTrait.php \Drupal\KernelTests\AssertContentTrait::assertThemeOutput()
- 10 core/tests/Drupal/KernelTests/AssertContentTrait.php \Drupal\KernelTests\AssertContentTrait::assertThemeOutput()
- 11.x core/tests/Drupal/KernelTests/AssertContentTrait.php \Drupal\KernelTests\AssertContentTrait::assertThemeOutput()
Asserts themed output.
Parameters
string $callback: The name of the theme hook to invoke; e.g. 'links' for links.html.twig.
array $variables: An array of variables to pass to the theme function.
string $expected: The expected themed output string.
string $message: (optional) A message to display with the assertion. Do not translate messages: use \Drupal\Component\Render\FormattableMarkup to embed variables in the message text, not t(). If left blank, a default message will be displayed.
string $group: (optional) The group this message is in, which is displayed in a column in test output. Use 'Debug' to indicate this is debugging output. Do not translate this string. Defaults to 'Other'; most tests do not override this default.
6 calls to AssertContentTrait::assertThemeOutput()
- FunctionsTest::testImage in core/
modules/ system/ tests/ src/ Kernel/ Theme/ FunctionsTest.php - Tests theme_image().
- FunctionsTest::testIndexedKeyedLinks in core/
modules/ system/ tests/ src/ Kernel/ Theme/ FunctionsTest.php - Tests links.html.twig using links with indexed keys.
- FunctionsTest::testItemList in core/
modules/ system/ tests/ src/ Kernel/ Theme/ FunctionsTest.php - Tests item-list.html.twig.
- FunctionsTest::testLinks in core/
modules/ system/ tests/ src/ Kernel/ Theme/ FunctionsTest.php - Tests links.html.twig.
- ThemeTest::testAttributeMerging in core/
modules/ system/ tests/ src/ Kernel/ Theme/ ThemeTest.php - Tests attribute merging.
File
-
core/
tests/ Drupal/ KernelTests/ AssertContentTrait.php, line 851
Class
- AssertContentTrait
- Provides test methods to assert content.
Namespace
Drupal\KernelTestsCode
protected function assertThemeOutput($callback, array $variables = [], $expected = '', $message = '', $group = 'Other') {
/** @var \Drupal\Core\Render\RendererInterface $renderer */
$renderer = \Drupal::service('renderer');
// The string cast is necessary because theme functions return
// MarkupInterface objects. This means we can assert that $expected
// matches the theme output without having to worry about 0 == ''.
$output = (string) $renderer->executeInRenderContext(new RenderContext(), function () use ($callback, $variables) {
return \Drupal::theme()->render($callback, $variables);
});
if (!$message) {
$message = '%callback rendered correctly.';
}
$message = new FormattableMarkup($message, [
'%callback' => 'theme_' . $callback . '()',
]);
$this->assertSame($expected, $output, $message, $group);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.