function MessengerTest::testRemoveSingleMessage

Same name and namespace in other branches
  1. 9 core/tests/Drupal/KernelTests/Core/Messenger/MessengerTest.php \Drupal\KernelTests\Core\Messenger\MessengerTest::testRemoveSingleMessage()
  2. 8.9.x core/tests/Drupal/KernelTests/Core/Messenger/MessengerTest.php \Drupal\KernelTests\Core\Messenger\MessengerTest::testRemoveSingleMessage()
  3. 11.x core/tests/Drupal/KernelTests/Core/Messenger/MessengerTest.php \Drupal\KernelTests\Core\Messenger\MessengerTest::testRemoveSingleMessage()

@covers ::addStatus
@covers ::deleteByType
@covers ::messagesByType

File

core/tests/Drupal/KernelTests/Core/Messenger/MessengerTest.php, line 38

Class

MessengerTest
@group Messenger @coversDefaultClass \Drupal\Core\Messenger\Messenger[[api-linebreak]]

Namespace

Drupal\KernelTests\Core\Messenger

Code

public function testRemoveSingleMessage() : void {
  // Set two messages.
  $this->messenger
    ->addStatus('First message (removed).');
  $this->messenger
    ->addStatus('Second message with <em>markup!</em> (not removed).');
  $messages = $this->messenger
    ->deleteByType(MessengerInterface::TYPE_STATUS);
  // Remove the first.
  unset($messages[0]);
  // Re-add the second.
  foreach ($messages as $message) {
    $this->messenger
      ->addStatus($message);
  }
  // Check we only have the second one.
  $this->assertCount(1, $this->messenger
    ->messagesByType(MessengerInterface::TYPE_STATUS));
  $this->assertContainsEquals('Second message with <em>markup!</em> (not removed).', $this->messenger
    ->deleteByType(MessengerInterface::TYPE_STATUS));
}

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