function WebAssert::optionExists
Same name in other branches
- 8.9.x core/tests/Drupal/Tests/WebAssert.php \Drupal\Tests\WebAssert::optionExists()
- 10 core/tests/Drupal/Tests/WebAssert.php \Drupal\Tests\WebAssert::optionExists()
- 11.x core/tests/Drupal/Tests/WebAssert.php \Drupal\Tests\WebAssert::optionExists()
Checks that specific option in a select field exists on the current page.
Parameters
string $select: One of id|name|label|value for the select field.
string $option: The option value.
\Behat\Mink\Element\TraversableElement $container: (optional) The document to check against. Defaults to the current page.
Return value
\Behat\Mink\Element\NodeElement The matching option element
Throws
\Behat\Mink\Exception\ElementNotFoundException When the element doesn't exist.
File
-
core/
tests/ Drupal/ Tests/ WebAssert.php, line 222
Class
- WebAssert
- Defines a class with methods for asserting presence of elements during tests.
Namespace
Drupal\TestsCode
public function optionExists($select, $option, TraversableElement $container = NULL) {
if (func_num_args() > 3) {
@trigger_error('Calling ' . __METHOD__ . ' with more than three arguments is deprecated in drupal:9.1.0 and will throw an \\InvalidArgumentException in drupal:10.0.0. See https://www.drupal.org/node/3162537', E_USER_DEPRECATED);
}
$container = $container ?: $this->session
->getPage();
$select_field = $container->find('named', [
'select',
$select,
]);
if ($select_field === NULL) {
throw new ElementNotFoundException($this->session
->getDriver(), 'select', 'id|name|label|value', $select);
}
$option_field = $select_field->find('named_exact', [
'option',
$option,
]);
if ($option_field === NULL) {
throw new ElementNotFoundException($this->session
->getDriver(), 'select', 'id|name|label|value', $option);
}
return $option_field;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.