public function WebAssert::pageTextContainsOnce in Drupal 8
Same name and namespace in other branches
- 9 core/tests/Drupal/Tests/WebAssert.php \Drupal\Tests\WebAssert::pageTextContainsOnce()
Checks that current page contains text only once.
Parameters
string $text: The string to look for.
See also
\Behat\Mink\WebAssert::pageTextContains()
File
- core/tests/ Drupal/ Tests/ WebAssert.php, line 610 
Class
- WebAssert
- Defines a class with methods for asserting presence of elements during tests.
Namespace
Drupal\TestsCode
public function pageTextContainsOnce($text) {
  $actual = $this->session
    ->getPage()
    ->getText();
  $actual = preg_replace('/\\s+/u', ' ', $actual);
  $regex = '/' . preg_quote($text, '/') . '/ui';
  $count = preg_match_all($regex, $actual);
  if ($count === 1) {
    return;
  }
  if ($count > 1) {
    $message = sprintf('The text "%s" appears in the text of this page more than once, but it should not.', $text);
  }
  else {
    $message = sprintf('The text "%s" was not found anywhere in the text of the current page.', $text);
  }
  throw new ResponseTextException($message, $this->session
    ->getDriver());
}