ComponentRenderTest.php
Same filename in this branch
- 11.x core/modules/sdc/tests/src/FunctionalJavascript/ComponentRenderTest.php
- 11.x core/modules/sdc/tests/src/Kernel/ComponentRenderTest.php
- 11.x core/modules/sdc/tests/src/Functional/ComponentRenderTest.php
- 11.x core/tests/Drupal/KernelTests/Components/ComponentRenderTest.php
- 11.x core/tests/Drupal/FunctionalTests/Components/ComponentRenderTest.php
Same filename in other branches
- 10 core/modules/sdc/tests/src/FunctionalJavascript/ComponentRenderTest.php
- 10 core/modules/sdc/tests/src/Kernel/ComponentRenderTest.php
- 10 core/modules/sdc/tests/src/Functional/ComponentRenderTest.php
- 10 core/tests/Drupal/KernelTests/Components/ComponentRenderTest.php
- 10 core/tests/Drupal/FunctionalTests/Components/ComponentRenderTest.php
- 10 core/tests/Drupal/FunctionalJavascriptTests/Components/ComponentRenderTest.php
Namespace
Drupal\FunctionalJavascriptTests\ComponentsFile
-
core/
tests/ Drupal/ FunctionalJavascriptTests/ Components/ ComponentRenderTest.php
View source
<?php
declare (strict_types=1);
namespace Drupal\FunctionalJavascriptTests\Components;
use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
/**
* Tests the correct rendering of components.
*
* @group sdc
*/
class ComponentRenderTest extends WebDriverTestBase {
/**
* {@inheritdoc}
*/
protected static $modules = [
'system',
'sdc_test',
];
/**
* {@inheritdoc}
*/
protected $defaultTheme = 'sdc_theme_test';
/**
* Tests that the correct libraries are put on the page using CSS.
*
* This also covers all the path translations necessary to produce the correct
* path to the assets.
*/
public function testCssLibraryAttachesCorrectly() : void {
$build = [
'#type' => 'inline_template',
'#template' => "{{ include('sdc_theme_test:lib-overrides') }}",
];
\Drupal::state()->set('sdc_test_component', $build);
$this->drupalGet('sdc-test-component');
$wrapper = $this->getSession()
->getPage()
->find('css', '#sdc-wrapper');
// Opacity is set to 0 in the CSS file (see another-stylesheet.css).
$this->assertFalse($wrapper->isVisible());
}
/**
* Tests that the correct libraries are put on the page using JS.
*
* This also covers all the path translations necessary to produce the correct
* path to the assets.
*/
public function testJsLibraryAttachesCorrectly() : void {
$build = [
'#type' => 'inline_template',
'#template' => "{{ include('sdc_test:my-button', {\n text: 'Click'\n }, with_context = false) }}",
];
\Drupal::state()->set('sdc_test_component', $build);
$this->drupalGet('sdc-test-component');
$page = $this->getSession()
->getPage();
$page->find('css', '[data-component-id="sdc_test:my-button"]')
->click();
$this->assertSame('Click power (1)', $page->find('css', '[data-component-id="sdc_test:my-button"]')
->getText());
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
ComponentRenderTest | Tests the correct rendering of components. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.