function DatabaseSelectTableSortDefaultTestCase::testTableSortQueryFirst

Confirm that if a tablesort's orderByHeader is called before another orderBy, that the header happens first.

File

modules/simpletest/tests/database_test.test, line 2755

Class

DatabaseSelectTableSortDefaultTestCase

Code

function testTableSortQueryFirst() {
    $sorts = array(
        array(
            'field' => t('Task ID'),
            'sort' => 'desc',
            'first' => 'perform at superbowl',
            'last' => 'eat',
        ),
        array(
            'field' => t('Task ID'),
            'sort' => 'asc',
            'first' => 'eat',
            'last' => 'perform at superbowl',
        ),
        array(
            'field' => t('Task'),
            'sort' => 'asc',
            'first' => 'code',
            'last' => 'sleep',
        ),
        array(
            'field' => t('Task'),
            'sort' => 'desc',
            'first' => 'sleep',
            'last' => 'code',
        ),
    );
    foreach ($sorts as $sort) {
        $this->drupalGet('database_test/tablesort_first/', array(
            'query' => array(
                'order' => $sort['field'],
                'sort' => $sort['sort'],
            ),
        ));
        $data = json_decode($this->drupalGetContent());
        $first = array_shift($data->tasks);
        $last = array_pop($data->tasks);
        $this->assertEqual($first->task, $sort['first'], format_string('Items appear in the correct order sorting by @field @sort.', array(
            '@field' => $sort['field'],
            '@sort' => $sort['sort'],
        )));
        $this->assertEqual($last->task, $sort['last'], format_string('Items appear in the correct order sorting by @field @sort.', array(
            '@field' => $sort['field'],
            '@sort' => $sort['sort'],
        )));
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.