diff --git a/core/modules/toolbar/tests/src/FunctionalJavascript/ToolbarIntegrationTest.php b/core/modules/toolbar/tests/src/FunctionalJavascript/ToolbarIntegrationTest.php index f44c224..c3b3d9a 100644 --- a/core/modules/toolbar/tests/src/FunctionalJavascript/ToolbarIntegrationTest.php +++ b/core/modules/toolbar/tests/src/FunctionalJavascript/ToolbarIntegrationTest.php @@ -23,30 +23,29 @@ public function testToolbarToggling() { $admin_user = $this->drupalCreateUser([ 'access toolbar', 'administer site configuration', - 'access content overview' + 'access content overview', ]); $this->drupalLogin($admin_user); $this->drupalGet(''); + $page = $this->getSession()->getPage(); // Test that it is possible to toggle the toolbar tray. - $this->assertElementVisible('#toolbar-link-system-admin_content', 'Toolbar tray is open by default.'); - $this->click('#toolbar-item-administration'); - $this->assertElementNotVisible('#toolbar-link-system-admin_content', 'Toolbar tray is closed after clicking the "Manage" button.'); - $this->click('#toolbar-item-administration'); - $this->assertElementVisible('#toolbar-link-system-admin_content', 'Toolbar tray is visible again after clicking the "Manage" button a second time.'); + $content = $page->findLink('Content'); + $this->assertTrue($content->isVisible(), 'Toolbar tray is open by default.'); + $page->clickLink('Manage'); + $this->assertFalse($content->isVisible(), 'Toolbar tray is closed after clicking the "Manage" link.'); + $page->clickLink('Manage'); + $this->assertTrue($content->isVisible(), 'Toolbar tray is visible again after clicking the "Manage" button a second time.'); // Test toggling the toolbar tray between horizontal and vertical. - $this->assertElementVisible('#toolbar-item-administration-tray.toolbar-tray-horizontal', 'Toolbar tray is horizontally oriented by default.'); - $this->assertElementNotPresent('#toolbar-item-administration-tray.toolbar-tray-vertical', 'Toolbar tray is not vertically oriented by default.'); + $tray = $page->findById('toolbar-item-administration-tray'); + $this->assertFalse($tray->hasClass('toolbar-tray-vertical'), 'Toolbar tray is not vertically oriented by default.'); + $page->pressButton('Vertical orientation'); + $this->assertTrue($tray->hasClass('toolbar-tray-vertical'), 'After toggling the orientation the toolbar tray is now displayed vertically.'); - $this->click('#toolbar-item-administration-tray button.toolbar-icon-toggle-vertical'); - $this->assertJsCondition('jQuery("#toolbar-item-administration-tray").hasClass("toolbar-tray-vertical")'); - $this->assertElementVisible('#toolbar-item-administration-tray.toolbar-tray-vertical', 'After toggling the orientation the toolbar tray is now displayed vertically.'); - - $this->click('#toolbar-item-administration-tray button.toolbar-icon-toggle-horizontal'); - $this->assertJsCondition('jQuery("#toolbar-item-administration-tray").hasClass("toolbar-tray-horizontal")'); - $this->assertElementVisible('#toolbar-item-administration-tray.toolbar-tray-horizontal', 'After toggling the orientation a second time the toolbar tray is displayed horizontally again.'); + $page->pressButton('Horizontal orientation'); + $this->assertTrue($tray->hasClass('toolbar-tray-horizontal'), 'After toggling the orientation a second time the toolbar tray is displayed horizontally again.'); } } diff --git a/core/tests/Drupal/FunctionalJavascriptTests/JavascriptTestBase.php b/core/tests/Drupal/FunctionalJavascriptTests/JavascriptTestBase.php index 41e5b79..9f0f016 100644 --- a/core/tests/Drupal/FunctionalJavascriptTests/JavascriptTestBase.php +++ b/core/tests/Drupal/FunctionalJavascriptTests/JavascriptTestBase.php @@ -41,6 +41,9 @@ protected function initMink() { * The CSS selector identifying the element to check. * @param string $message * Optional message to show alongside the assertion. + * + * @deprecated in Drupal 8.1.x, will be removed before Drupal 8.3.x. Use + * \Behat\Mink\Element\NodeElement::isVisible() instead. */ protected function assertElementVisible($css_selector, $message = '') { $this->assertTrue($this->getSession()->getDriver()->isVisible(CssSelector::toXPath($css_selector)), $message); @@ -53,6 +56,9 @@ protected function assertElementVisible($css_selector, $message = '') { * The CSS selector identifying the element to check. * @param string $message * Optional message to show alongside the assertion. + * + * @deprecated in Drupal 8.1.x, will be removed before Drupal 8.3.x. Use + * \Behat\Mink\Element\NodeElement::isVisible() instead. */ protected function assertElementNotVisible($css_selector, $message = '') { $this->assertFalse($this->getSession()->getDriver()->isVisible(CssSelector::toXPath($css_selector)), $message);