Performs View result assertions.
This is a helper method for ViewTestBase::assertIdenticalResultset() and ViewTestBase::assertNotIdenticalResultset().
\Drupal\views\ViewExecutable $view: An executed View.
array $expected_result: An expected result set.
array $column_map: An associative array mapping the columns of the result set from the view (as keys) and the expected result set (as values).
string $message: The message to display with the assertion.
string $assert_method: The TestBase assertion method to use (either 'assertIdentical' or 'assertNotIdentical').
bool TRUE if the assertion succeeded, or FALSE otherwise.
\Drupal\views\Tests\ViewTestBase::assertIdenticalResultset()
\Drupal\views\Tests\ViewTestBase::assertNotIdenticalResultset()
protected function assertIdenticalResultsetHelper($view, $expected_result, $column_map, $message, $assert_method) {
// Convert $view->result to an array of arrays.
$result = array();
foreach ($view->result as $key => $value) {
$row = array();
foreach ($column_map as $view_column => $expected_column) {
// The comparison will be done on the string representation of the value.
$row[$expected_column] = (string) $value->{$view_column};
}
$result[$key] = $row;
}
// Remove the columns we don't need from the expected result.
foreach ($expected_result as $key => $value) {
$row = array();
foreach ($column_map as $expected_column) {
// The comparison will be done on the string representation of the value.
$row[$expected_column] = (string) (is_object($value) ? $value->{$expected_column} : $value[$expected_column]);
}
$expected_result[$key] = $row;
}
// Reset the numbering of the arrays.
$result = array_values($result);
$expected_result = array_values($expected_result);
$this
->verbose('<pre>Returned data set: ' . print_r($result, TRUE) . "\n\nExpected: " . print_r($expected_result, TRUE));
// Do the actual comparison.
return $this
->{$assert_method}($result, $expected_result, $message);
}