mirror of
https://github.com/silverstripe/silverstripe-behat-extension
synced 2024-10-22 17:05:32 +02:00
Merge branch '4.3' into 4
This commit is contained in:
commit
d7321417b4
@ -278,7 +278,7 @@ JS;
|
|||||||
public function closeModalDialog(AfterScenarioScope $event)
|
public function closeModalDialog(AfterScenarioScope $event)
|
||||||
{
|
{
|
||||||
$expectsUnsavedChangesModal = $this->stepHasTag($event, 'unsavedChanges');
|
$expectsUnsavedChangesModal = $this->stepHasTag($event, 'unsavedChanges');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Only for failed tests on CMS page
|
// Only for failed tests on CMS page
|
||||||
if ($expectsUnsavedChangesModal || $event->getTestResult()->getResultCode() === TestResult::FAILED) {
|
if ($expectsUnsavedChangesModal || $event->getTestResult()->getResultCode() === TestResult::FAILED) {
|
||||||
@ -487,6 +487,18 @@ JS;
|
|||||||
$this->iDismissTheDialog();
|
$this->iDismissTheDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Given /^I click on the "([^"]+)" element$/
|
||||||
|
* @param string $selector
|
||||||
|
*/
|
||||||
|
public function iClickOnTheElement($selector)
|
||||||
|
{
|
||||||
|
$page = $this->getMainContext()->getSession()->getPage();
|
||||||
|
$element = $page->find('css', $selector);
|
||||||
|
assertNotNull($element, sprintf('Element %s not found', $selector));
|
||||||
|
$element->click();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Given /^I (click|double click) "([^"]*)" in the "([^"]*)" element$/
|
* @Given /^I (click|double click) "([^"]*)" in the "([^"]*)" element$/
|
||||||
* @param string $clickType
|
* @param string $clickType
|
||||||
@ -867,7 +879,7 @@ JS;
|
|||||||
|
|
||||||
$linkObj = $regionObj->findLink($link);
|
$linkObj = $regionObj->findLink($link);
|
||||||
if (empty($linkObj)) {
|
if (empty($linkObj)) {
|
||||||
throw new \Exception(sprintf('The link "%s" was not found in the region "%s"
|
throw new \Exception(sprintf('The link "%s" was not found in the region "%s"
|
||||||
on the page %s', $link, $region, $this->getSession()->getCurrentUrl()));
|
on the page %s', $link, $region, $this->getSession()->getCurrentUrl()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -893,7 +905,7 @@ JS;
|
|||||||
|
|
||||||
$fieldObj = $regionObj->findField($field);
|
$fieldObj = $regionObj->findField($field);
|
||||||
if (empty($fieldObj)) {
|
if (empty($fieldObj)) {
|
||||||
throw new \Exception(sprintf('The field "%s" was not found in the region "%s"
|
throw new \Exception(sprintf('The field "%s" was not found in the region "%s"
|
||||||
on the page %s', $field, $region, $this->getSession()->getCurrentUrl()));
|
on the page %s', $field, $region, $this->getSession()->getCurrentUrl()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1031,11 +1043,11 @@ JS;
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Find tables by a <caption> field
|
// Find tables by a <caption> field
|
||||||
$candidates += $page->findAll('xpath', "//table//caption[contains(normalize-space(string(.)),
|
$candidates += $page->findAll('xpath', "//table//caption[contains(normalize-space(string(.)),
|
||||||
$selector)]/ancestor-or-self::table[1]");
|
$selector)]/ancestor-or-self::table[1]");
|
||||||
|
|
||||||
// Find tables by a .title node
|
// Find tables by a .title node
|
||||||
$candidates += $page->findAll('xpath', "//table//*[contains(concat(' ',normalize-space(@class),' '), ' title ') and contains(normalize-space(string(.)),
|
$candidates += $page->findAll('xpath', "//table//*[contains(concat(' ',normalize-space(@class),' '), ' title ') and contains(normalize-space(string(.)),
|
||||||
$selector)]/ancestor-or-self::table[1]");
|
$selector)]/ancestor-or-self::table[1]");
|
||||||
|
|
||||||
// Some tables don't have a visible title, so look for a fieldset with data-name instead
|
// Some tables don't have a visible title, so look for a fieldset with data-name instead
|
||||||
|
Loading…
Reference in New Issue
Block a user