function ViewsTestCase::assertIdenticalResultsetHelper

2 calls to ViewsTestCase::assertIdenticalResultsetHelper()
ViewsTestCase::assertIdenticalResultset in tests/views_query.test
Helper function: verify a result set returned by view.
ViewsTestCase::assertNotIdenticalResultset in tests/views_query.test
Helper function: verify a result set returned by view..

File

tests/views_query.test, line 63

Class

ViewsTestCase

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