ContextualLinkClickTrait.php in Drupal 8
File
core/modules/contextual/tests/src/FunctionalJavascript/ContextualLinkClickTrait.php
View source
<?php
namespace Drupal\Tests\contextual\FunctionalJavascript;
trait ContextualLinkClickTrait {
protected function clickContextualLink($selector, $link_locator, $force_visible = TRUE) {
$page = $this
->getSession()
->getPage();
$page
->waitFor(10, function () use ($page, $selector) {
return $page
->find('css', "{$selector} .contextual-links");
});
if ($force_visible) {
$this
->toggleContextualTriggerVisibility($selector);
}
$element = $this
->getSession()
->getPage()
->find('css', $selector);
$element
->find('css', '.contextual button')
->press();
$element
->findLink($link_locator)
->click();
if ($force_visible) {
$this
->toggleContextualTriggerVisibility($selector);
}
}
protected function toggleContextualTriggerVisibility($selector) {
$this
->getSession()
->executeScript("jQuery('{$selector} .contextual .trigger').toggleClass('visually-hidden');");
}
}