diff --git a/core/modules/views/lib/Drupal/views/Tests/Handler/AreaMessageTest.php b/core/modules/views/lib/Drupal/views/Tests/Handler/AreaMessageTest.php new file mode 100644 index 0000000..6ae1d88 --- /dev/null +++ b/core/modules/views/lib/Drupal/views/Tests/Handler/AreaMessageTest.php @@ -0,0 +1,70 @@ + 'Area: Messages', + 'description' => 'Test the Messages area handler.', + 'group' => 'Views Handlers', + ); + } + + /** + * Tests rendering the Messages area handler. + */ + public function testMessages() { + $view = Views::getView('test_view'); + $view->setDisplay(); + + // Add the messages handler. + $view->displayHandlers->get('default')->overrideOption('empty', array( + 'messages' => array( + 'id' => 'messages', + 'table' => 'views', + 'field' => 'messages', + ), + )); + + // Execute the view. + $this->executeView($view); + + // The handler is configured to show with empty views by default, so should + // appear. + $this->assertEqual(array('#theme' => 'status_messages'), $view->display_handler->handlers['empty']['messages']->render(), 'The expected render array was returned.'); + + // Turn empty off, and make sure it isn't rendered. + $view->display_handler->handlers['empty']['messages']->options['empty'] = FALSE; + // $empty parameter passed to render will still be FALSE, so should still + // appear. + $this->assertEqual(array('#theme' => 'status_messages'), $view->display_handler->handlers['empty']['messages']->render()); + // Should now be empty as both the empty option and parameter are empty. + $this->assertEqual(array(), $view->display_handler->handlers['empty']['messages']->render(TRUE)); + } + +}