summaryrefslogtreecommitdiff
path: root/modules/simpletest/tests/form_test.module
diff options
context:
space:
mode:
authorAngie Byron <webchick@24967.no-reply.drupal.org>2009-09-18 00:12:48 +0000
committerAngie Byron <webchick@24967.no-reply.drupal.org>2009-09-18 00:12:48 +0000
commitdf02fa3ca46e16974192de77580762188ad47f49 (patch)
tree91b2354aae786d7b187028dbc61fb3893b04ae64 /modules/simpletest/tests/form_test.module
parente18feedfdb429e35173b85fc7182aadabee0a166 (diff)
downloadbrdo-df02fa3ca46e16974192de77580762188ad47f49.tar.gz
brdo-df02fa3ca46e16974192de77580762188ad47f49.tar.bz2
#571086 by sun and merlinofchaos: Added a 'wrapper callback' that executes
before a form builder function, to facilitate common form elements. Clean-up from form_builder changes from CTools patch. Has nice side-benefit of making all form functions' signatures consistent.
Diffstat (limited to 'modules/simpletest/tests/form_test.module')
-rw-r--r--modules/simpletest/tests/form_test.module71
1 files changed, 48 insertions, 23 deletions
diff --git a/modules/simpletest/tests/form_test.module b/modules/simpletest/tests/form_test.module
index 6646e85a8..6d6fd38f8 100644
--- a/modules/simpletest/tests/form_test.module
+++ b/modules/simpletest/tests/form_test.module
@@ -10,8 +10,6 @@
* Implement hook_menu().
*/
function form_test_menu() {
- $items = array();
-
$items['form_test/tableselect/multiple-true'] = array(
'title' => 'Tableselect checkboxes test',
'page callback' => 'drupal_get_form',
@@ -19,7 +17,6 @@ function form_test_menu() {
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
);
-
$items['form_test/tableselect/multiple-false'] = array(
'title' => 'Tableselect radio button test',
'page callback' => 'drupal_get_form',
@@ -27,7 +24,6 @@ function form_test_menu() {
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
);
-
$items['form_test/tableselect/empty-text'] = array(
'title' => 'Tableselect empty text test',
'page callback' => 'drupal_get_form',
@@ -35,7 +31,6 @@ function form_test_menu() {
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
);
-
$items['form_test/tableselect/advanced-select'] = array(
'title' => 'Tableselect js_select tests',
'page callback' => 'drupal_get_form',
@@ -66,6 +61,14 @@ function form_test_menu() {
'type' => MENU_CALLBACK,
);
+ $items['form_test/wrapper-callback'] = array(
+ 'title' => 'Form wrapper callback test',
+ 'page callback' => 'form_test_wrapper_callback',
+ 'page arguments' => array('form_test_wrapper_callback_form'),
+ 'access arguments' => array('access content'),
+ 'type' => MENU_CALLBACK,
+ );
+
return $items;
}
@@ -82,7 +85,7 @@ function form_test_form_clean_id_page() {
/**
* A simple form to test clean_id generation.
*/
-function form_test_test_form(&$form_state) {
+function form_test_test_form($form, &$form_state) {
$form['input'] = array(
'#type' => 'item',
'#title' => 'Test Textfield',
@@ -137,9 +140,7 @@ function _form_test_tableselect_get_data() {
* @return
* A form with a tableselect element and a submit button.
*/
-function _form_test_tableselect_form_builder($form_state, $element_properties) {
- $form = array();
-
+function _form_test_tableselect_form_builder($form, $form_state, $element_properties) {
list($header, $options) = _form_test_tableselect_get_data();
$form['tableselect'] = $element_properties;
@@ -163,8 +164,8 @@ function _form_test_tableselect_form_builder($form_state, $element_properties) {
/**
* Test the tableselect #multiple = TRUE functionality.
*/
-function _form_test_tableselect_multiple_true_form($form_state) {
- return _form_test_tableselect_form_builder($form_state, array('#multiple' => TRUE));
+function _form_test_tableselect_multiple_true_form($form, $form_state) {
+ return _form_test_tableselect_form_builder($form, $form_state, array('#multiple' => TRUE));
}
/**
@@ -180,8 +181,8 @@ function _form_test_tableselect_multiple_true_form_submit($form, &$form_state) {
/**
* Test the tableselect #multiple = FALSE functionality.
*/
-function _form_test_tableselect_multiple_false_form($form_state) {
- return _form_test_tableselect_form_builder($form_state, array('#multiple' => FALSE));
+function _form_test_tableselect_multiple_false_form($form, $form_state) {
+ return _form_test_tableselect_form_builder($form, $form_state, array('#multiple' => FALSE));
}
/**
@@ -194,17 +195,15 @@ function _form_test_tableselect_multiple_false_form_submit($form, &$form_state)
/**
* Test functionality of the tableselect #empty property.
*/
-function _form_test_tableselect_empty_form($form_state) {
- return _form_test_tableselect_form_builder($form_state, array('#options' => array()));
+function _form_test_tableselect_empty_form($form, $form_state) {
+ return _form_test_tableselect_form_builder($form, $form_state, array('#options' => array()));
}
/**
* Test functionality of the tableselect #js_select property.
*/
-function _form_test_tableselect_js_select_form($form_state, $action) {
-
+function _form_test_tableselect_js_select_form($form, $form_state, $action) {
switch ($action) {
-
case 'multiple-true-default':
$options = array('#multiple' => TRUE);
break;
@@ -222,7 +221,7 @@ function _form_test_tableselect_js_select_form($form_state, $action) {
break;
}
- return _form_test_tableselect_form_builder($form_state, $options);
+ return _form_test_tableselect_form_builder($form, $form_state, $options);
}
/**
@@ -263,9 +262,7 @@ function form_test_batch_callback($value) {
/**
* A simple form with a textfield and submit button.
*/
-function form_test_mock_form($form_state) {
- $form = array();
-
+function form_test_mock_form($form, $form_state) {
$form['test_value'] = array(
'#type' => 'textfield',
'#default_value' => 'initial_state',
@@ -298,7 +295,7 @@ function form_test_mock_form_submit($form, &$form_state) {
*
* @see form_storage_test_form_submit().
*/
-function form_storage_test_form(&$form_state) {
+function form_storage_test_form($form, &$form_state) {
// Initialize
if (!isset($form_state['storage'])) {
if (empty($form_state['input'])) {
@@ -365,3 +362,31 @@ function form_storage_test_form_submit($form, &$form_state) {
$form_state['storage']['step']++;
drupal_set_message("Form constructions: ". $_SESSION['constructions']);
}
+
+/**
+ * Menu callback; Invokes a form builder function with a wrapper callback.
+ */
+function form_test_wrapper_callback($form_id) {
+ $form_state = array(
+ 'args' => array(),
+ 'wrapper_callback' => 'form_test_wrapper_callback_wrapper',
+ );
+ return drupal_build_form($form_id, $form_state);
+}
+
+/**
+ * Form wrapper for form_test_wrapper_callback_form().
+ */
+function form_test_wrapper_callback_wrapper($form, &$form_state) {
+ $form['wrapper'] = array('#markup' => 'Form wrapper callback element output.');
+ return $form;
+}
+
+/**
+ * Form builder for form wrapper callback test.
+ */
+function form_test_wrapper_callback_form($form, &$form_state) {
+ $form['builder'] = array('#markup' => 'Form builder element output.');
+ return $form;
+}
+