diff options
author | Angie Byron <webchick@24967.no-reply.drupal.org> | 2009-11-22 02:48:37 +0000 |
---|---|---|
committer | Angie Byron <webchick@24967.no-reply.drupal.org> | 2009-11-22 02:48:37 +0000 |
commit | 7f7df4022760982f8a98264e5e61948b676cc9d4 (patch) | |
tree | d1eb261810c36a1f0ae5011cf27fb9111658f68c | |
parent | 6ff73ad0534dea0ac54b445932b1aa94b0ef77e4 (diff) | |
download | brdo-7f7df4022760982f8a98264e5e61948b676cc9d4.tar.gz brdo-7f7df4022760982f8a98264e5e61948b676cc9d4.tar.bz2 |
#623310 by rfay: Fixed AJAX 'changed' command asterisk argument.
-rw-r--r-- | includes/ajax.inc | 2 | ||||
-rw-r--r-- | modules/simpletest/tests/ajax.test | 5 | ||||
-rw-r--r-- | modules/simpletest/tests/ajax_forms_test.module | 25 |
3 files changed, 23 insertions, 9 deletions
diff --git a/includes/ajax.inc b/includes/ajax.inc index 80e6bbce1..248ce39a9 100644 --- a/includes/ajax.inc +++ b/includes/ajax.inc @@ -720,7 +720,7 @@ function ajax_command_changed($selector, $asterisk = '') { return array( 'command' => 'changed', 'selector' => $selector, - 'star' => $asterisk, + 'asterisk' => $asterisk, ); } diff --git a/modules/simpletest/tests/ajax.test b/modules/simpletest/tests/ajax.test index cf688eb76..a3471dba5 100644 --- a/modules/simpletest/tests/ajax.test +++ b/modules/simpletest/tests/ajax.test @@ -107,6 +107,11 @@ class AJAXCommandsTestCase extends AJAXTestCase { $command = $commands[1]; $this->assertTrue($command['command'] == 'changed' && $command['selector'] == '#changed_div', "'changed' AJAX command issued with correct selector"); + // Tests the 'changed' command using the second argument. + $commands = $this->drupalPostAJAX($form_path, $edit, 'changed_command_asterisk_example'); + $command = $commands[1]; + $this->assertTrue($command['command'] == 'changed' && $command['selector'] == '#changed_div' && $command['asterisk'] == '#changed_div_mark_this', "'changed' AJAX command (with asterisk) issued with correct selector"); + // 'css' command will go here when it is implemented. // Tests the 'data' command. diff --git a/modules/simpletest/tests/ajax_forms_test.module b/modules/simpletest/tests/ajax_forms_test.module index ceb03dcc1..a0dcfc0e0 100644 --- a/modules/simpletest/tests/ajax_forms_test.module +++ b/modules/simpletest/tests/ajax_forms_test.module @@ -130,7 +130,7 @@ function ajax_forms_test_ajax_commands_form($form, &$form_state) { '#suffix' => '<div id="before_div">Insert something before this.</div>', ); - // Shows the 'changed' command. + // Shows the 'changed' command without asterisk. $form['changed_command_example'] = array( '#value' => t("AJAX changed: Click to mark div changed."), '#type' => 'submit', @@ -139,6 +139,14 @@ function ajax_forms_test_ajax_commands_form($form, &$form_state) { ), '#suffix' => '<div id="changed_div"> <div id="changed_div_mark_this">This div can be marked as changed or not.</div></div>', ); + // Shows the 'changed' command adding the asterisk. + $form['changed_command_asterisk_example'] = array( + '#value' => t("AJAX changed: Click to mark div changed with asterisk."), + '#type' => 'submit', + '#ajax' => array( + 'callback' => 'ajax_forms_test_advanced_commands_changed_asterisk_callback', + ), + ); // Shows the AJAX 'css' command. // @todo Note that this won't work until http://drupal.org/node/623320 lands. @@ -264,14 +272,15 @@ function ajax_forms_test_advanced_commands_before_callback($form, $form_state) { * AJAX callback for 'changed'. */ function ajax_forms_test_advanced_commands_changed_callback($form, $form_state) { - $checkbox_value = $form_state['values']['changed_command_example']; - $checkbox_value_string = $checkbox_value ? "TRUE" : "FALSE"; + $commands[] = ajax_command_changed('#changed_div'); + return array('#type' => 'ajax_commands', '#ajax_commands' => $commands); +} +/** + * AJAX callback for 'changed' with asterisk marking inner div. + */ +function ajax_forms_test_advanced_commands_changed_asterisk_callback($form, $form_state) { $commands = array(); - if ($checkbox_value) { - // @todo This does not yet exercise the 2nd arg (asterisk) so that should - // be added when it works. - $commands[] = ajax_command_changed( '#changed_div'); - } + $commands[] = ajax_command_changed('#changed_div', '#changed_div_mark_this'); return array('#type' => 'ajax_commands', '#ajax_commands' => $commands); } |