diff options
author | Dries Buytaert <dries@buytaert.net> | 2009-05-22 11:33:18 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2009-05-22 11:33:18 +0000 |
commit | dc4d421be78c471017fd8cf0d3b7986147844dab (patch) | |
tree | e33372f2f943eb1e32fff5922eed372b4b944184 /modules/simpletest/tests/database_test.test | |
parent | ef14b0df899a07fc002398040fffdfae8a09ad66 (diff) | |
download | brdo-dc4d421be78c471017fd8cf0d3b7986147844dab.tar.gz brdo-dc4d421be78c471017fd8cf0d3b7986147844dab.tar.bz2 |
- Patch #396284 by Berdir, chx, jcfiala, csevb10 et al: make sure to order by table headers first, before ordering by other fields.
Diffstat (limited to 'modules/simpletest/tests/database_test.test')
-rw-r--r-- | modules/simpletest/tests/database_test.test | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/modules/simpletest/tests/database_test.test b/modules/simpletest/tests/database_test.test index 590e9c102..2fa7f6c8f 100644 --- a/modules/simpletest/tests/database_test.test +++ b/modules/simpletest/tests/database_test.test @@ -1769,6 +1769,32 @@ class DatabaseSelectTableSortDefaultTestCase extends DatabaseTestCase { $this->assertEqual($last->task, $sort['last'], t('Items appear in the correct order.')); } } + + /** + * Confirm that if a tablesort's orderByHeader is called before another orderBy, that the header happens first. + * + */ + 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'), + // more elements here + + ); + + 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'], t('Items appear in the correct order sorting by @field @sort.', array('@field' => $sort['field'], '@sort' => $sort['sort']))); + $this->assertEqual($last->task, $sort['last'], t('Items appear in the correct order sorting by @field @sort.', array('@field' => $sort['field'], '@sort' => $sort['sort']))); + } + } } /** |