function AssertContentTrait::assertNoFieldByXPath

Same name in other branches
  1. 8.9.x core/tests/Drupal/KernelTests/AssertContentTrait.php \Drupal\KernelTests\AssertContentTrait::assertNoFieldByXPath()
  2. 10 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: use \Drupal\Component\Render\FormattableMarkup to embed variables in the message text, not t(). If left blank, a default message will be displayed.

string $group: (optional) The group this message is in, which is displayed in a column in test output. Use 'Debug' to indicate this is debugging output. Do not translate this string. Defaults to 'Other'; most tests do not override this default.

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 1001

Class

AssertContentTrait
Provides test methods to assert content.

Namespace

Drupal\KernelTests

Code

protected function assertNoFieldByXPath($xpath, $value = NULL, $message = '', $group = 'Other') {
    $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.