function ComponentRenderTest::testVariants
Ensure that components variants render.
File
-
core/
tests/ Drupal/ KernelTests/ Components/ ComponentRenderTest.php, line 358
Class
- ComponentRenderTest
- Tests the correct rendering of components.
Namespace
Drupal\KernelTests\ComponentsCode
public function testVariants() : void {
$build = [
'#type' => 'component',
'#component' => 'sdc_test:my-cta',
'#variant' => 'primary',
'#props' => [
'text' => 'Test link',
],
];
$crawler = $this->renderComponentRenderArray($build);
$this->assertNotEmpty($crawler->filter('#sdc-wrapper a[data-component-id="sdc_test:my-cta"][data-component-variant="primary"][class*="my-cta-primary"]'));
// If there were an existing prop named variant, we don't override that for BC reasons.
$build = [
'#type' => 'component',
'#component' => 'sdc_test:my-cta-with-variant-prop',
'#variant' => 'tertiary',
'#props' => [
'text' => 'Test link',
'variant' => 'secondary',
],
];
$crawler = $this->renderComponentRenderArray($build);
$this->assertEmpty($crawler->filter('#sdc-wrapper a[data-component-id="sdc_test:my-cta-with-variant-prop"][data-component-variant="tertiary"]'));
$this->assertNotEmpty($crawler->filter('#sdc-wrapper a[data-component-id="sdc_test:my-cta-with-variant-prop"][data-component-variant="secondary"]'));
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.