summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/ajax.inc2
-rw-r--r--modules/simpletest/tests/ajax.test5
-rw-r--r--modules/simpletest/tests/ajax_forms_test.module25
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);
}