Updated Drupal to 8.6. This goes with the following updates because it's possible...
[yaffs-website] / web / core / modules / system / tests / src / Functional / Bootstrap / DrupalMessengerServiceTest.php
diff --git a/web/core/modules/system/tests/src/Functional/Bootstrap/DrupalMessengerServiceTest.php b/web/core/modules/system/tests/src/Functional/Bootstrap/DrupalMessengerServiceTest.php
new file mode 100644 (file)
index 0000000..51404ef
--- /dev/null
@@ -0,0 +1,49 @@
+<?php
+
+namespace Drupal\Tests\system\Functional\Bootstrap;
+
+use Drupal\Core\Url;
+use Drupal\Tests\BrowserTestBase;
+
+/**
+ * Tests the Messenger service.
+ *
+ * @group Bootstrap
+ */
+class DrupalMessengerServiceTest extends BrowserTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = ['system_test'];
+
+  /**
+   * Tests Messenger service.
+   */
+  public function testDrupalMessengerService() {
+    // The page at system_test.messenger_service route sets two messages and
+    // then removes the first before it is displayed.
+    $this->drupalGet(Url::fromRoute('system_test.messenger_service'));
+    $this->assertNoText('First message (removed).');
+    $this->assertRaw(t('Second message with <em>markup!</em> (not removed).'));
+
+    // Ensure duplicate messages are handled as expected.
+    $this->assertUniqueText('Non Duplicated message');
+    $this->assertNoUniqueText('Duplicated message');
+
+    // Ensure Markup objects are rendered as expected.
+    $this->assertRaw('Markup with <em>markup!</em>');
+    $this->assertUniqueText('Markup with markup!');
+    $this->assertRaw('Markup2 with <em>markup!</em>');
+
+    // Ensure when the same message is of different types it is not duplicated.
+    $this->assertUniqueText('Non duplicate Markup / string.');
+    $this->assertNoUniqueText('Duplicate Markup / string.');
+
+    // Ensure that strings that are not marked as safe are escaped.
+    $this->assertEscaped('<em>This<span>markup will be</span> escaped</em>.');
+  }
+
+}