Issue #2864922 by vaplas, dawehner, Lendude: \Drupal\views\Plugin\views\display\EntityReference::render returns the wrong datatype for empty results

8.4.x
Nathaniel Catchpole 2017-06-28 12:46:43 +01:00
parent 89605308b1
commit 0287e533ac
2 changed files with 11 additions and 2 deletions

View File

@ -90,13 +90,16 @@ class EntityReference extends DisplayPluginBase {
}
/**
* {@inheritdoc}
* Builds the view result as a renderable array.
*
* @return array
* Renderable array or empty array.
*/
public function render() {
if (!empty($this->view->result) && $this->view->style_plugin->evenEmpty()) {
return $this->view->style_plugin->render($this->view->result);
}
return '';
return [];
}
/**

View File

@ -249,6 +249,12 @@ class DisplayEntityReferenceTest extends ViewTestBase {
$this->executeView($view);
$this->assertEqual(count($view->result), 2, 'Search returned two rows');
// Test that the render() return empty array for empty result.
$view = Views::getView('test_display_entity_reference');
$view->setDisplay('entity_reference_1');
$render = $view->display_handler->render();
$this->assertSame([], $render, 'Render returned empty array');
}
}