Version 1
[yaffs-website] / web / core / modules / views / tests / src / Unit / Plugin / area / MessagesTest.php
diff --git a/web/core/modules/views/tests/src/Unit/Plugin/area/MessagesTest.php b/web/core/modules/views/tests/src/Unit/Plugin/area/MessagesTest.php
new file mode 100644 (file)
index 0000000..1c6728d
--- /dev/null
@@ -0,0 +1,57 @@
+<?php
+
+namespace Drupal\Tests\views\Unit\Plugin\area;
+
+use Drupal\Tests\UnitTestCase;
+use Drupal\views\Plugin\views\area\Messages;
+
+/**
+ * @coversDefaultClass \Drupal\views\Plugin\views\area\Messages
+ * @group views
+ */
+class MessagesTest extends UnitTestCase {
+
+  /**
+   * The view executable object.
+   *
+   * @var \Drupal\views\ViewExecutable
+   */
+  protected $view;
+
+  /**
+   * The message handler.
+   *
+   * @var \Drupal\views\Plugin\views\area\Messages
+   */
+  protected $messagesHandler;
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+
+    $this->messagesHandler = new Messages([], 'result', []);
+  }
+
+  /**
+   * Tests the render method.
+   *
+   * @covers ::defineOptions
+   * @covers ::render
+   */
+  public function testRender() {
+    // The handler is configured to show with empty views by default, so should
+    // appear.
+    $this->assertSame(['#type' => 'status_messages'], $this->messagesHandler->render());
+
+    // Turn empty off, and make sure it isn't rendered.
+    $this->messagesHandler->options['empty'] = FALSE;
+    // $empty parameter passed to render will still be FALSE, so should still
+    // appear.
+    $this->assertSame(['#type' => 'status_messages'], $this->messagesHandler->render());
+    // Should now be empty as both the empty option and parameter are empty.
+    $this->assertSame([], $this->messagesHandler->render(TRUE));
+  }
+
+}