function StyleTableTest::testAccessibilitySettings
Same name in other branches
- 9 core/modules/views/tests/src/Functional/Plugin/StyleTableTest.php \Drupal\Tests\views\Functional\Plugin\StyleTableTest::testAccessibilitySettings()
- 8.9.x core/modules/views/tests/src/Functional/Plugin/StyleTableTest.php \Drupal\Tests\views\Functional\Plugin\StyleTableTest::testAccessibilitySettings()
- 10 core/modules/views/tests/src/Functional/Plugin/StyleTableTest.php \Drupal\Tests\views\Functional\Plugin\StyleTableTest::testAccessibilitySettings()
Tests table caption/summary/description.
File
-
core/
modules/ views/ tests/ src/ Functional/ Plugin/ StyleTableTest.php, line 43
Class
- StyleTableTest
- Tests the table style views plugin.
Namespace
Drupal\Tests\views\Functional\PluginCode
public function testAccessibilitySettings() : void {
$this->drupalGet('test-table');
$this->assertSession()
->elementExists('xpath', '//caption/child::text()');
$this->assertSession()
->elementTextEquals('xpath', '//caption/child::text()', 'caption-text');
$this->assertSession()
->elementExists('xpath', '//summary/child::text()');
$this->assertSession()
->elementTextEquals('xpath', '//summary/child::text()', 'summary-text');
// Check that the summary has the right accessibility settings.
$this->assertSession()
->elementAttributeExists('xpath', '//summary', 'role');
$this->assertSession()
->elementAttributeExists('xpath', '//summary', 'aria-expanded');
$this->assertSession()
->elementExists('xpath', '//caption/details/child::text()[normalize-space()]');
$this->assertSession()
->elementTextEquals('xpath', '//caption/details/child::text()[normalize-space()]', 'description-text');
// Remove the caption and ensure the caption is not displayed anymore.
$view = View::load('test_table');
$display =& $view->getDisplay('default');
$display['display_options']['style']['options']['caption'] = '';
$view->save();
$this->drupalGet('test-table');
$this->assertSession()
->elementTextEquals('xpath', '//caption/child::text()', '');
// Remove the table summary.
$display =& $view->getDisplay('default');
$display['display_options']['style']['options']['summary'] = '';
$view->save();
$this->drupalGet('test-table');
$this->assertSession()
->elementNotExists('xpath', '//summary/child::text()');
// Remove the table description.
$display =& $view->getDisplay('default');
$display['display_options']['style']['options']['description'] = '';
$view->save();
$this->drupalGet('test-table');
$this->assertSession()
->elementNotExists('xpath', '//caption/details/child::text()[normalize-space()]');
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.