summaryrefslogtreecommitdiff
path: root/modules/simpletest/tests/ajax_test.module
diff options
context:
space:
mode:
Diffstat (limited to 'modules/simpletest/tests/ajax_test.module')
-rw-r--r--modules/simpletest/tests/ajax_test.module59
1 files changed, 59 insertions, 0 deletions
diff --git a/modules/simpletest/tests/ajax_test.module b/modules/simpletest/tests/ajax_test.module
new file mode 100644
index 000000000..27bf3bf16
--- /dev/null
+++ b/modules/simpletest/tests/ajax_test.module
@@ -0,0 +1,59 @@
+<?php
+// $Id$
+
+/**
+ * @file
+ * Helper module for AJAX framework tests.
+ */
+
+/**
+ * Implement hook_menu().
+ */
+function ajax_test_menu() {
+ $items['ajax-test/render'] = array(
+ 'title' => 'ajax_render',
+ 'page callback' => 'ajax_test_render',
+ 'access callback' => TRUE,
+ 'type' => MENU_CALLBACK,
+ );
+ $items['ajax-test/render-error'] = array(
+ 'title' => 'ajax_render_error',
+ 'page callback' => 'ajax_test_render_error',
+ 'access callback' => TRUE,
+ 'type' => MENU_CALLBACK,
+ );
+ return $items;
+}
+
+/**
+ * Menu callback; Copies $_GET['commands'] into $commands and ajax_render()s that.
+ *
+ * Additionally ensures that ajax_render() incorporates JavaScript settings
+ * by invoking drupal_add_js() with a dummy setting.
+ */
+function ajax_test_render() {
+ // Prepare AJAX commands.
+ $commands = array();
+ if (!empty($_GET['commands'])) {
+ $commands = $_GET['commands'];
+ }
+ // Add a dummy JS setting.
+ drupal_add_js(array('ajax' => 'test'), 'setting');
+
+ // Output AJAX commands and end the request.
+ ajax_render($commands);
+}
+
+/**
+ * Menu callback; Invokes ajax_render_error().
+ *
+ * Optionally passes $_GET['message'] to ajax_render_error().
+ */
+function ajax_test_render_error() {
+ $message = '';
+ if (!empty($_GET['message'])) {
+ $message = $_GET['message'];
+ }
+ ajax_render_error($message);
+}
+