Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/Test/AssertMailTrait.php \Drupal\Core\Test\AssertMailTrait::assertMailPattern()
  2. 9 core/lib/Drupal/Core/Test/AssertMailTrait.php \Drupal\Core\Test\AssertMailTrait::assertMailPattern()

Asserts that the most recently sent email message has the pattern in it.

Parameters

string $field_name: Name of field or message property to assert: subject, body, id, ...

string $regex: Pattern to search 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.

1 call to AssertMailTrait::assertMailPattern()
AssertMailTraitTest::testAssertMailTrait in core/tests/Drupal/KernelTests/Core/Test/AssertMailTraitTest.php
Tests that the maintenance theme initializes the theme and its base themes.

File

core/lib/Drupal/Core/Test/AssertMailTrait.php, line 116

Class

AssertMailTrait
Provides methods for testing emails sent during test runs.

Namespace

Drupal\Core\Test

Code

protected function assertMailPattern($field_name, $regex, $message = '') {
  $mails = $this
    ->getMails();
  $mail = end($mails);
  $regex_found = preg_match("/{$regex}/", $mail[$field_name]);
  if (!$message) {
    $message = new FormattableMarkup('Expected text found in @field of email message: "@expected".', [
      '@field' => $field_name,
      '@expected' => $regex,
    ]);
  }
  $this
    ->assertTrue((bool) $regex_found, $message);
}