summaryrefslogtreecommitdiff
path: root/modules/simpletest/tests
diff options
context:
space:
mode:
authorAngie Byron <webchick@24967.no-reply.drupal.org>2010-10-15 04:34:15 +0000
committerAngie Byron <webchick@24967.no-reply.drupal.org>2010-10-15 04:34:15 +0000
commit66ec59e0f4179e2ab5630bb00bf20ba3fdab5ba6 (patch)
tree89475c31a147161b27618de2cfac9411a8fb8efa /modules/simpletest/tests
parent34a78487496accce366a43f3222854172ab8269b (diff)
downloadbrdo-66ec59e0f4179e2ab5630bb00bf20ba3fdab5ba6.tar.gz
brdo-66ec59e0f4179e2ab5630bb00bf20ba3fdab5ba6.tar.bz2
#664042 by coltrane, effulgentsia: Fixed TableSort order error when no sort set in header
Diffstat (limited to 'modules/simpletest/tests')
-rw-r--r--modules/simpletest/tests/database_test.module51
-rw-r--r--modules/simpletest/tests/database_test.test9
2 files changed, 59 insertions, 1 deletions
diff --git a/modules/simpletest/tests/database_test.module b/modules/simpletest/tests/database_test.module
index 18fc056aa..2b684409c 100644
--- a/modules/simpletest/tests/database_test.module
+++ b/modules/simpletest/tests/database_test.module
@@ -66,7 +66,11 @@ function database_test_menu() {
'access callback' => TRUE,
'page callback' => 'database_test_tablesort_first',
);
-
+ $items['database_test/tablesort_default_sort'] = array(
+ 'access callback' => TRUE,
+ 'page callback' => 'drupal_get_form',
+ 'page arguments' => array('database_test_theme_tablesort'),
+ );
return $items;
}
@@ -191,3 +195,48 @@ function database_test_tablesort_first() {
));
exit;
}
+
+/**
+ * Output a form without setting a header sort.
+ */
+function database_test_theme_tablesort($form, &$form_state) {
+ $header = array(
+ 'username' => array('data' => t('Username'), 'field' => 'u.name'),
+ 'status' => array('data' => t('Status'), 'field' => 'u.status'),
+ );
+
+ $query = db_select('users', 'u');
+ $query->condition('u.uid', 0, '<>');
+ user_build_filter_query($query);
+
+ $count_query = clone $query;
+ $count_query->addExpression('COUNT(u.uid)');
+
+ $query = $query->extend('PagerDefault')->extend('TableSort');
+ $query
+ ->fields('u', array('uid', 'name', 'status', 'created', 'access'))
+ ->limit(50)
+ ->orderByHeader($header)
+ ->setCountQuery($count_query);
+ $result = $query->execute();
+
+ $options = array();
+
+ $status = array(t('blocked'), t('active'));
+ $accounts = array();
+ foreach ($result as $account) {
+ $options[$account->uid] = array(
+ 'username' => check_plain($account->name),
+ 'status' => $status[$account->status],
+ );
+ }
+
+ $form['accounts'] = array(
+ '#type' => 'tableselect',
+ '#header' => $header,
+ '#options' => $options,
+ '#empty' => t('No people available.'),
+ );
+
+ return $form;
+}
diff --git a/modules/simpletest/tests/database_test.test b/modules/simpletest/tests/database_test.test
index 62ae06a40..f34afafab 100644
--- a/modules/simpletest/tests/database_test.test
+++ b/modules/simpletest/tests/database_test.test
@@ -2314,6 +2314,15 @@ class DatabaseSelectTableSortDefaultTestCase extends DatabaseTestCase {
$this->assertEqual($last->task, $sort['last'], t('Items appear in the correct order sorting by @field @sort.', array('@field' => $sort['field'], '@sort' => $sort['sort'])));
}
}
+
+ /**
+ * Confirm that if a sort is not set in a tableselect form there is no error thrown when using the default.
+ */
+ function testTableSortDefaultSort() {
+ $this->drupalGet('database_test/tablesort_default_sort');
+ // Any PHP errors or notices thrown would trigger a simpletest exception, so
+ // no additional assertions are needed.
+ }
}
/**