function MessengerTest::testRemoveSingleMessage

Same name 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. 10 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

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.