diff options
Diffstat (limited to 'modules/file/tests/file_module_test.module')
-rw-r--r-- | modules/file/tests/file_module_test.module | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/modules/file/tests/file_module_test.module b/modules/file/tests/file_module_test.module index f8362dc54..7bccb4a67 100644 --- a/modules/file/tests/file_module_test.module +++ b/modules/file/tests/file_module_test.module @@ -22,15 +22,22 @@ function file_module_test_menu() { return $items; } -function file_module_test_form($form, $form_state) { - $form['#tree'] = TRUE; +/** + * Form builder for testing a 'managed_file' element. + */ +function file_module_test_form($form, &$form_state, $tree = TRUE, $extended = FALSE, $default_fid = NULL) { + $form['#tree'] = (bool) $tree; - $form['file'] = array( + $form['nested']['file'] = array( '#type' => 'managed_file', '#title' => t('Managed file'), '#upload_location' => 'public://test', '#progress_message' => t('Please wait...'), + '#extended' => (bool) $extended, ); + if ($default_fid) { + $form['nested']['file']['#default_value'] = $extended ? array('fid' => $default_fid) : $default_fid; + } $form['textfield'] = array( '#type' => 'textfield', @@ -44,3 +51,16 @@ function file_module_test_form($form, $form_state) { return $form; } + +/** + * Form submission handler for file_module_test_form(). + */ +function file_module_test_form_submit($form, &$form_state) { + if ($form['#tree']) { + $fid = $form['nested']['file']['#extended'] ? $form_state['values']['nested']['file']['fid'] : $form_state['values']['nested']['file']; + } + else { + $fid = $form['nested']['file']['#extended'] ? $form_state['values']['file']['fid'] : $form_state['values']['file']; + } + drupal_set_message(t('The file id is %fid.', array('%fid' => $fid))); +} |