function WebAssert::optionExists

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/WebAssert.php \Drupal\Tests\WebAssert::optionExists()
  2. 8.9.x core/tests/Drupal/Tests/WebAssert.php \Drupal\Tests\WebAssert::optionExists()
  3. 10 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 226

Class

WebAssert
Defines a class with methods for asserting presence of elements during tests.

Namespace

Drupal\Tests

Code

public function optionExists($select, $option, ?TraversableElement $container = NULL) {
    $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(), 'option', '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.