function ViewsHandlerSortTest::testNumericOrdering

Tests numeric ordering of the result set.

File

tests/handlers/views_handler_sort.test, line 27

Class

ViewsHandlerSortTest
Tests for core views_handler_sort handler.

Code

public function testNumericOrdering() {
    $view = $this->getBasicView();
    // Change the ordering.
    $view->display['default']->handler
        ->override_option('sorts', array(
        'age' => array(
            'order' => 'ASC',
            'id' => 'age',
            'table' => 'views_test',
            'field' => 'age',
            'relationship' => 'none',
        ),
    ));
    // Execute the view.
    $this->executeView($view);
    // Verify the result.
    $this->assertEqual(count($this->dataSet()), count($view->result), t('The number of returned rows match.'));
    $this->assertIdenticalResultset($view, $this->orderResultSet($this->dataSet(), 'age'), array(
        'views_test_name' => 'name',
        'views_test_age' => 'age',
    ));
    $view = $this->getBasicView();
    // Reverse the ordering.
    $view->display['default']->handler
        ->override_option('sorts', array(
        'age' => array(
            'order' => 'DESC',
            'id' => 'age',
            'table' => 'views_test',
            'field' => 'age',
            'relationship' => 'none',
        ),
    ));
    // Execute the view.
    $this->executeView($view);
    // Verify the result.
    $this->assertEqual(count($this->dataSet()), count($view->result), t('The number of returned rows match.'));
    $this->assertIdenticalResultset($view, $this->orderResultSet($this->dataSet(), 'age', TRUE), array(
        'views_test_name' => 'name',
        'views_test_age' => 'age',
    ));
}