diff --git a/core/modules/system/src/Tests/Theme/MessageRenderTest.php b/core/modules/system/src/Tests/Theme/MessageRenderTest.php new file mode 100644 index 0000000..10125d5 --- /dev/null +++ b/core/modules/system/src/Tests/Theme/MessageRenderTest.php @@ -0,0 +1,55 @@ +set_messages_assert_classes('status', 'warning', 'error'); + $this->set_messages_assert_classes('status', 'error', 'warning'); + $this->set_messages_assert_classes('error', 'status', 'warning'); + $this->set_messages_assert_classes('error', 'warning', 'status'); + $this->set_messages_assert_classes('warning', 'error', 'status'); + $this->set_messages_assert_classes('warning', 'status', 'error'); + } + + /** + * Utility function to set some messages and + * assert their css classes after rendering. + */ + private function set_messages_assert_classes($severity1, $severity2, $severity3){ + drupal_set_message($this->randomString(), $severity1); + drupal_set_message($this->randomString(), $severity2); + drupal_set_message($this->randomString(), $severity3); + + $render = array('#theme' => 'status_messages'); + $this->setRawContent(drupal_render($render)); + + $this->assertRaw('messages messages--status'); + $this->assertRaw('messages messages--warning'); + $this->assertRaw('messages messages--error'); + $this->assertNoRaw('messages--status messages--warning"'); + $this->assertNoRaw('messages--status messages--error"'); + $this->assertNoRaw('messages--warning messages--status"'); + $this->assertNoRaw('messages--warning messages--error"'); + $this->assertNoRaw('messages--error messages--status"'); + $this->assertNoRaw('messages--error messages--warning"'); + } +} \ No newline at end of file