diff --git a/core/lib/Drupal/Core/Messenger/Messenger.php b/core/lib/Drupal/Core/Messenger/Messenger.php index 21ac4c8..c4fd380 100644 --- a/core/lib/Drupal/Core/Messenger/Messenger.php +++ b/core/lib/Drupal/Core/Messenger/Messenger.php @@ -6,6 +6,7 @@ */ namespace Drupal\Core\Messenger; + use Drupal\Component\Utility\SafeMarkup; use Drupal\Core\PageCache\ResponsePolicy\KillSwitch; @@ -43,6 +44,7 @@ public function addMessage($message, $type = self::STATUS, $repeat = FALSE) { 'safe' => SafeMarkup::isSafe($message), 'message' => $message, ); + $this->pageCacheKillSwitch->trigger(); } return $this; diff --git a/core/tests/Drupal/Tests/Core/Messenger/MessengerTest.php b/core/tests/Drupal/Tests/Core/Messenger/MessengerTest.php index d954532..45a6446 100644 --- a/core/tests/Drupal/Tests/Core/Messenger/MessengerTest.php +++ b/core/tests/Drupal/Tests/Core/Messenger/MessengerTest.php @@ -88,6 +88,9 @@ public function testMessenger() { $message_b = $this->randomMachineName(); $type_b = $this->randomMachineName(); + $this->pageCacheKillSwitch->expects($this->atLeastOnce()) + ->method('trigger'); + // Test that if there are no messages, the default is an empty array. $this->assertEquals($this->messenger->getMessages(), array()); @@ -98,30 +101,14 @@ public function testMessenger() { $this->messenger->addMessage($message_a, $type_a, TRUE); $this->messenger->addMessage($message_b, $type_b, TRUE); $this->assertEquals($this->messenger->getMessages(), array( - $type_a => array( - array( - 'safe' => FALSE, - 'message' => $message_a, - ), - array( - 'safe' => FALSE, - 'message' => $message_a, - ), - array( - 'safe' => FALSE, - 'message' => $message_a, - ), - ), - $type_b => array( - array('safe' => FALSE, 'message' => $message_b), - ), - ) - ); + $type_a => array($message_a, $message_a, $message_a), + $type_b => array($message_b), + )); // Test deleting messages of a certain type. $this->assertEquals($this->messenger->deleteMessagesByType($type_a), $this->messenger); $this->assertEquals($this->messenger->getMessages(), array( - $type_b => array(array('safe' => FALSE, 'message' => $message_b)), + $type_b => array($message_b), )); // Test deleting all messages.