diff options
author | Dries Buytaert <dries@buytaert.net> | 2010-10-04 18:00:46 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2010-10-04 18:00:46 +0000 |
commit | f85a37c3076a3145aa291439b713e33825adfd83 (patch) | |
tree | 2b6b7890dab3817e20c99860d634979640a91696 /modules/simpletest/tests | |
parent | 5a23b3fdb970bb0c3e79f47ba9296455d237d9f0 (diff) | |
download | brdo-f85a37c3076a3145aa291439b713e33825adfd83.tar.gz brdo-f85a37c3076a3145aa291439b713e33825adfd83.tar.bz2 |
- Patch #140783 by sun, chx, effulgentsia, David_Rothstein, webchick: a select list without #default_value() always passes form validation.
Diffstat (limited to 'modules/simpletest/tests')
-rw-r--r-- | modules/simpletest/tests/form.test | 5 | ||||
-rw-r--r-- | modules/simpletest/tests/form_test.module | 37 |
2 files changed, 33 insertions, 9 deletions
diff --git a/modules/simpletest/tests/form.test b/modules/simpletest/tests/form.test index 70cf19b86..4661ad25f 100644 --- a/modules/simpletest/tests/form.test +++ b/modules/simpletest/tests/form.test @@ -164,6 +164,8 @@ class FormsTestCase extends DrupalWebTestCase { // Posting without any values should throw validation errors. $this->drupalPost(NULL, array(), 'Submit'); $this->assertNoText(t($error, array('!name' => $form['select']['#title']))); + $this->assertNoText(t($error, array('!name' => $form['select_required']['#title']))); + $this->assertNoText(t($error, array('!name' => $form['select_optional']['#title']))); $this->assertNoText(t($error, array('!name' => $form['empty_value']['#title']))); $this->assertNoText(t($error, array('!name' => $form['empty_value_one']['#title']))); $this->assertText(t($error, array('!name' => $form['no_default']['#title']))); @@ -194,7 +196,8 @@ class FormsTestCase extends DrupalWebTestCase { 'empty_value' => 'one', 'empty_value_one' => 'one', 'no_default' => 'three', - 'no_default_optional' => '', + 'no_default_optional' => 'one', + 'no_default_optional_empty_value' => '', 'no_default_empty_option' => 'three', 'no_default_empty_option_optional' => '', 'no_default_empty_value' => 'three', diff --git a/modules/simpletest/tests/form_test.module b/modules/simpletest/tests/form_test.module index 57a96863c..0e704d25c 100644 --- a/modules/simpletest/tests/form_test.module +++ b/modules/simpletest/tests/form_test.module @@ -789,44 +789,65 @@ function form_test_select($form, &$form_state) { '#title' => '#default_value one', '#default_value' => 'one', ); + $form['select_required'] = $base + array( + '#title' => '#default_value one, #required', + '#required' => TRUE, + '#default_value' => 'one', + ); + $form['select_optional'] = $base + array( + '#title' => '#default_value one, not #required', + '#required' => FALSE, + '#default_value' => 'one', + ); $form['empty_value'] = $base + array( - '#title' => '#default_value one, #empty_value 0', + '#title' => '#default_value one, #required, #empty_value 0', + '#required' => TRUE, '#default_value' => 'one', '#empty_value' => 0, ); $form['empty_value_one'] = $base + array( - '#title' => '#default_value = #empty_value', + '#title' => '#default_value = #empty_value, #required', + '#required' => TRUE, '#default_value' => 'one', '#empty_value' => 'one', ); $form['no_default'] = $base + array( - '#title' => 'No #default_value', + '#title' => 'No #default_value, #required', + '#required' => TRUE, ); $form['no_default_optional'] = $base + array( '#title' => 'No #default_value, not #required', '#required' => FALSE, - '#description' => 'Should result in an empty string (default of #empty_value), because it is optional.', + '#description' => 'Should result in "one", because it is not required and there is no #empty_value requested, so default browser behavior of preselecting first option is in effect.', + ); + $form['no_default_optional_empty_value'] = $base + array( + '#title' => 'No #default_value, not #required, #empty_value empty string', + '#empty_value' => '', + '#required' => FALSE, + '#description' => 'Should result in an empty string (due to #empty_value), because it is optional.', ); $form['no_default_empty_option'] = $base + array( - '#title' => 'No #default_value, #empty_option', + '#title' => 'No #default_value, #required, #empty_option', + '#required' => TRUE, '#empty_option' => '- Choose -', ); $form['no_default_empty_option_optional'] = $base + array( '#title' => 'No #default_value, not #required, #empty_option', - '#required' => FALSE, '#empty_option' => '- Dismiss -', '#description' => 'Should result in an empty string (default of #empty_value), because it is optional.', ); $form['no_default_empty_value'] = $base + array( - '#title' => 'No #default_value, #empty_value 0', + '#title' => 'No #default_value, #required, #empty_value 0', + '#required' => TRUE, '#empty_value' => 0, '#description' => 'Should never result in 0.', ); $form['no_default_empty_value_one'] = $base + array( - '#title' => 'No #default_value, #empty_value one', + '#title' => 'No #default_value, #required, #empty_value one', + '#required' => TRUE, '#empty_value' => 'one', '#description' => 'A mistakenly assigned #empty_value contained in #options should not be valid.', ); |