function JSWebAssert::statusMessageExistsAfterWait

Same name in other branches
  1. 10 core/tests/Drupal/FunctionalJavascriptTests/JSWebAssert.php \Drupal\FunctionalJavascriptTests\JSWebAssert::statusMessageExistsAfterWait()
  2. 11.x core/tests/Drupal/FunctionalJavascriptTests/JSWebAssert.php \Drupal\FunctionalJavascriptTests\JSWebAssert::statusMessageExistsAfterWait()

Asserts that a status message exists after wait.

Parameters

string|null $type: The optional message type: status, error, or warning.

int $timeout: Optional timeout in milliseconds, defaults to 10000.

File

core/tests/Drupal/FunctionalJavascriptTests/JSWebAssert.php, line 524

Class

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

Namespace

Drupal\FunctionalJavascriptTests

Code

public function statusMessageExistsAfterWait(string $type = NULL, int $timeout = 10000) : void {
    $selector = $this->buildJavascriptStatusMessageSelector(NULL, $type);
    $status_message_element = $this->waitForElement('xpath', $selector, $timeout);
    if ($type) {
        $failure_message = sprintf('A status message of type "%s" does not appear on this page, but it should.', $type);
    }
    else {
        $failure_message = 'A status message does not appear on this page, but it should.';
    }
    // There is no Assert::isNotNull() method, so we make our own constraint.
    $constraint = new LogicalNot(new IsNull());
    Assert::assertThat($status_message_element, $constraint, $failure_message);
}

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