diff options
author | Dries Buytaert <dries@buytaert.net> | 2009-05-22 07:08:15 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2009-05-22 07:08:15 +0000 |
commit | 800f2d9aa461bf65c7e971de388d5367af1996bf (patch) | |
tree | 1b74e7091faf73ddf46897e10a8273b723380a13 /modules/simpletest/tests/database_test.test | |
parent | 092726df1603daefb347c66e50e270fc1e6581cc (diff) | |
download | brdo-800f2d9aa461bf65c7e971de388d5367af1996bf.tar.gz brdo-800f2d9aa461bf65c7e971de388d5367af1996bf.tar.bz2 |
- Patch #467984 by Berdir: fixed some database glitches and extended the tests.
Diffstat (limited to 'modules/simpletest/tests/database_test.test')
-rw-r--r-- | modules/simpletest/tests/database_test.test | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/modules/simpletest/tests/database_test.test b/modules/simpletest/tests/database_test.test index da3add21a..590e9c102 100644 --- a/modules/simpletest/tests/database_test.test +++ b/modules/simpletest/tests/database_test.test @@ -1689,6 +1689,46 @@ class DatabaseSelectPagerDefaultTestCase extends DatabaseTestCase { $this->assertEqual(count($data->names), $correct_number, t('Correct number of records returned by pager: @number', array('@number' => $correct_number))); } } + + /** + * Confirm that a pager query with inner pager query returns valid results. + * + * This is a regression test for #467984. + */ + function testInnerPagerQuery() { + $query = db_select('test', 't')->extend('PagerDefault'); + $query + ->fields('t', array('age')) + ->orderBy('age') + ->limit(5); + + $outer_query = db_select($query); + $outer_query->addField('subquery', 'age'); + + $ages = $outer_query + ->execute() + ->fetchCol(); + $this->assertEqual($ages, array(25, 26, 27, 28), 'Inner pager query returned the correct ages.'); + } + + /** + * Confirm that a paging query with a having expression returns valid results. + * + * This is a regression test for #467984. + */ + function testHavingPagerQuery() { + $query = db_select('test', 't')->extend('PagerDefault'); + $query + ->fields('t', array('age')) + ->orderBy('age') + ->having('COUNT(age) > :count', array(':count' => 1)) + ->limit(5); + + $ages = $query + ->execute() + ->fetchCol(); + $this->assertEqual($ages, array(25), ' pager query with having expression returned the correct ages.'); + } } |