function AssertContentTrait::assertUniqueTextHelper

Same name and namespace in other branches
  1. 11.x core/tests/Drupal/KernelTests/AssertContentTrait.php \Drupal\KernelTests\AssertContentTrait::assertUniqueTextHelper()
  2. 9 core/tests/Drupal/KernelTests/AssertContentTrait.php \Drupal\KernelTests\AssertContentTrait::assertUniqueTextHelper()
  3. 10 core/tests/Drupal/KernelTests/AssertContentTrait.php \Drupal\KernelTests\AssertContentTrait::assertUniqueTextHelper()

Helper for assertUniqueText and assertNoUniqueText.

It is not recommended to call this function directly.

Parameters

string|\Drupal\Component\Render\MarkupInterface $text: Plain text to look for.

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. Defaults to 'Other'.

bool $be_unique: (optional) TRUE if this text should be found only once, FALSE if it should be found more than once. Defaults to FALSE.

Return value

bool TRUE on pass, FALSE on fail.

File

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

Class

AssertContentTrait
Provides test methods to assert content.

Namespace

Drupal\KernelTests

Code

protected function assertUniqueTextHelper($text, $message = '', $group = 'Other', $be_unique = FALSE) {
  // Cast MarkupInterface objects to string.
  $text = (string) $text;
  if (!$message) {
    $message = '"' . $text . '"' . ($be_unique ? ' found only once' : ' found more than once');
  }
  $first_occurrence = strpos($this->getTextContent(), $text);
  if ($first_occurrence === FALSE) {
    return $this->assert(FALSE, $message, $group);
  }
  $offset = $first_occurrence + strlen($text);
  $second_occurrence = strpos($this->getTextContent(), $text, $offset);
  return $this->assert($be_unique == ($second_occurrence === FALSE), $message, $group);
}

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