function AssertContentTrait::assertNoFieldByXPath

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

Asserts that a field does not exist or its value does not match, by XPath.

Parameters

string $xpath: XPath used to find the field.

string $value: (optional) Value of the field, to assert that the field's value on the page does not match it.

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.

3 calls to AssertContentTrait::assertNoFieldByXPath()
AssertContentTrait::assertNoField in core/tests/Drupal/KernelTests/AssertContentTrait.php
Asserts that a field does not exist with the given name or ID.
AssertContentTrait::assertNoFieldById in core/tests/Drupal/KernelTests/AssertContentTrait.php
Asserts that a field does not exist with the given ID and value.
AssertContentTrait::assertNoFieldByName in core/tests/Drupal/KernelTests/AssertContentTrait.php
Asserts that a field does not exist with the given name and value.

File

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

Class

AssertContentTrait
Provides test methods to assert content.

Namespace

Drupal\KernelTests

Code

protected function assertNoFieldByXPath($xpath, $value = NULL, $message = '') {
    $fields = $this->xpath($xpath);
    // If value specified then check array for match.
    $found = TRUE;
    if (isset($value)) {
        $found = FALSE;
        if ($fields) {
            foreach ($fields as $field) {
                if ($field['value'] == $value) {
                    $found = TRUE;
                }
            }
        }
    }
    $this->assertNotEmpty($fields);
    $this->assertTrue($found, $message);
    return TRUE;
}

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