1 database_test.test DatabaseSelectOrderedTestCase::testSimpleSelectMultiOrdered()

Test multiple order by.

File

core/modules/simpletest/tests/database_test.test, line 1888
Database tests.

Class

DatabaseSelectOrderedTestCase
Test select with order by clauses.

Code

function testSimpleSelectMultiOrdered() {
  $query = db_select('test');
  $name_field = $query->addField('test', 'name');
  $age_field = $query->addField('test', 'age', 'age');
  $job_field = $query->addField('test', 'job');
  $query->orderBy($job_field);
  $query->orderBy($age_field);
  $result = $query->execute();

  $num_records = 0;
  $expected = array(
    array('Ringo', 28, 'Drummer'),
    array('John', 25, 'Singer'),
    array('George', 27, 'Singer'),
    array('Paul', 26, 'Songwriter'),
  );
  $results = $result->fetchAll(PDO::FETCH_NUM);
  foreach ($expected as $k => $record) {
    $num_records++;
    foreach ($record as $kk => $col) {
      if ($expected[$k][$kk] != $results[$k][$kk]) {
        $this->assertTrue(FALSE, 'Results returned in correct order.');
      }
    }
  }
  $this->assertEqual($num_records, 4, 'Returned the correct number of rows.');
}