You are here

public function WebAssert::optionNotExists in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/Tests/WebAssert.php \Drupal\Tests\WebAssert::optionNotExists()

Checks that an option in a select field does NOT exist on the current page.

Parameters

string $select: One of id|name|label|value for the select field.

string $option: The option value that should not exist.

\Behat\Mink\Element\TraversableElement $container: (optional) The document to check against. Defaults to the current page.

Throws

\Behat\Mink\Exception\ElementNotFoundException When the select element doesn't exist.

File

core/tests/Drupal/Tests/WebAssert.php, line 258

Class

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

Namespace

Drupal\Tests

Code

public function optionNotExists($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', [
    'option',
    $option,
  ]);
  $this
    ->assert($option_field === NULL, sprintf('An option "%s" exists in select "%s", but it should not.', $option, $select));
}