1.20.x views_query.test protected ViewsTestCase::assertIdenticalResultsetHelper($view, $expected_result, $column_map, $message, $assert_method)

File

modules/views/tests/views_query.test, line 48
Tests for Views query features.

Class

ViewsTestCase
Abstract class for views testing.

Code

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);
}