summaryrefslogtreecommitdiff
path: root/modules/simpletest
diff options
context:
space:
mode:
authorAngie Byron <webchick@24967.no-reply.drupal.org>2010-11-21 08:53:18 +0000
committerAngie Byron <webchick@24967.no-reply.drupal.org>2010-11-21 08:53:18 +0000
commit1242612ee7a9cc502895f31b3bd9e4b57587f8df (patch)
tree8741541b835b61bdd47fa29159d5adf4d5a82283 /modules/simpletest
parent379ef5dbac428169cfff66dfd050525361f9b919 (diff)
downloadbrdo-1242612ee7a9cc502895f31b3bd9e4b57587f8df.tar.gz
brdo-1242612ee7a9cc502895f31b3bd9e4b57587f8df.tar.bz2
#606966 by chx, sun, mr.baileys: Fixed 'load arguments' of parent path are not inherited
Diffstat (limited to 'modules/simpletest')
-rw-r--r--modules/simpletest/tests/menu.test16
-rw-r--r--modules/simpletest/tests/menu_test.module51
2 files changed, 67 insertions, 0 deletions
diff --git a/modules/simpletest/tests/menu.test b/modules/simpletest/tests/menu.test
index 773282ed9..7a4560408 100644
--- a/modules/simpletest/tests/menu.test
+++ b/modules/simpletest/tests/menu.test
@@ -464,6 +464,22 @@ class MenuRouterTestCase extends DrupalWebTestCase {
$asserted_title = $override ? 'Alternative example title - Case ' . $case_no : 'Example title - Case ' . $case_no;
$this->assertTitle($asserted_title . ' | Drupal', t('Menu title is') . ': ' . $asserted_title, 'Menu');
}
+
+ /**
+ * Tests inheritance of 'load arguments'.
+ */
+ function testMenuLoadArgumentsInheritance() {
+ $arg1 = $this->randomName();
+ $arg2 = $this->randomName();
+ $expected = print_r(array('%menu_test_argument' => $arg1, '%' => $arg2), TRUE);
+
+ $this->drupalGet("menu-test/arguments/$arg1/$arg2");
+ $this->assertRaw($expected, t('Inherited load arguments found.'));
+ $this->drupalGet("menu-test/arguments/$arg1/$arg2/default");
+ $this->assertRaw($expected, t('Inherited load arguments found.'));
+ $this->drupalGet("menu-test/arguments/$arg1/$arg2/task");
+ $this->assertRaw($expected, t('Inherited load arguments found.'));
+ }
}
/**
diff --git a/modules/simpletest/tests/menu_test.module b/modules/simpletest/tests/menu_test.module
index d420f06c0..b3577dbdc 100644
--- a/modules/simpletest/tests/menu_test.module
+++ b/modules/simpletest/tests/menu_test.module
@@ -255,10 +255,61 @@ function menu_test_menu() {
'page callback' => 'menu_test_callback',
);
+ // Load arguments inheritance test.
+ $items['menu-test/arguments/%menu_test_argument/%'] = array(
+ 'title' => 'Load arguments inheritance test',
+ 'load arguments' => array(3),
+ 'page callback' => 'menu_test_arguments',
+ 'page arguments' => array(2),
+ 'access callback' => TRUE,
+ );
+ $items['menu-test/arguments/%menu_test_argument/%/default'] = array(
+ 'title' => 'Default local task',
+ 'type' => MENU_DEFAULT_LOCAL_TASK,
+ );
+ $items['menu-test/arguments/%menu_test_argument/%/task'] = array(
+ 'title' => 'Local task',
+ 'page callback' => 'menu_test_arguments',
+ 'page arguments' => array(2),
+ 'access callback' => TRUE,
+ 'type' => MENU_LOCAL_TASK,
+ );
+
return $items;
}
/**
+ * Menu argument loader for the 'load arguments' inheritance test.
+ *
+ * @param $arg1
+ * The path argument defined as %menu_test_argument.
+ * @param $arg2
+ * The additional path argument that should be passed due to 'load arguments'.
+ *
+ * @return
+ * An array containing $arg1 and $arg2.
+ */
+function menu_test_argument_load($arg1, $arg2) {
+ return array('%menu_test_argument' => $arg1, '%' => $arg2);
+}
+
+/**
+ * Page callback for the 'load arguments' inheritance test.
+ *
+ * @param $joined_args
+ * An associative array containing the values for both path arguments, as
+ * intercepted and processed by menu_test_argument_load():
+ * - %menu_test_argument: The primary path argument string.
+ * - %: The additional argument string.
+ *
+ * @return
+ * A dump of the loaded %menu_test_argument argument.
+ */
+function menu_test_arguments($joined_args) {
+ return print_r($joined_args, TRUE);
+}
+
+/**
* Dummy callback for hook_menu() to point to.
*
* @return