function AssertContentTrait::assertOptionSelectedWithDrupalSelector

Same name in other branches
  1. 9 core/tests/Drupal/KernelTests/AssertContentTrait.php \Drupal\KernelTests\AssertContentTrait::assertOptionSelectedWithDrupalSelector()
  2. 8.9.x core/tests/Drupal/KernelTests/AssertContentTrait.php \Drupal\KernelTests\AssertContentTrait::assertOptionSelectedWithDrupalSelector()
  3. 10 core/tests/Drupal/KernelTests/AssertContentTrait.php \Drupal\KernelTests\AssertContentTrait::assertOptionSelectedWithDrupalSelector()

Asserts that a select option in the current page is checked.

@todo $id is unusable. Replace with $name.

Parameters

string $drupal_selector: The data drupal selector of select field to assert.

string $option: Option to assert.

string $message: (optional) A message to display with the assertion. Do not translate messages with t(). Use double quotes and embed variables directly in message text, or use sprintf() if necessary. Avoid the use of \Drupal\Component\Render\FormattableMarkup unless you cast the object to a string. If left blank, a default message will be displayed.

Return value

bool TRUE on pass, FALSE on fail.

File

core/tests/Drupal/KernelTests/AssertContentTrait.php, line 1201

Class

AssertContentTrait
Provides test methods to assert content.

Namespace

Drupal\KernelTests

Code

protected function assertOptionSelectedWithDrupalSelector($drupal_selector, $option, $message = '') : bool {
    $message = $message ? $message : new FormattableMarkup('Option @option for field @data_drupal_selector is selected.', [
        '@option' => $option,
        '@data_drupal_selector' => $drupal_selector,
    ]);
    $elements = $this->xpath('//select[@data-drupal-selector=:data_drupal_selector]//option[@value=:option]', [
        ':data_drupal_selector' => $drupal_selector,
        ':option' => $option,
    ]);
    $this->assertNotEmpty($elements, $message);
    $this->assertNotEmpty($elements[0]['selected'], $message);
    return TRUE;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.