function ComponentRenderTest::testRenderSlots
Ensure that the slots allow a render array or a scalar when using the render element.
File
-
core/
tests/ Drupal/ KernelTests/ Components/ ComponentRenderTest.php, line 273
Class
- ComponentRenderTest
- Tests the correct rendering of components.
Namespace
Drupal\KernelTests\ComponentsCode
public function testRenderSlots() : void {
$slots = [
'This is the contents of the banner body.',
[
'#plain_text' => 'This is the contents of the banner body.',
],
];
foreach ($slots as $slot) {
$build = [
'#type' => 'component',
'#component' => 'sdc_test:my-banner',
'#props' => [
'heading' => 'I am a banner',
'ctaText' => 'Click me',
'ctaHref' => 'https://www.example.org',
'ctaTarget' => '',
],
'#slots' => [
'banner_body' => $slot,
],
];
$crawler = $this->renderComponentRenderArray($build);
$this->assertNotEmpty($crawler->filter('#sdc-wrapper [data-component-id="sdc_test:my-banner"] .component--my-banner--body:contains("This is the contents of the banner body.")'));
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.