diff options
author | Angie Byron <webchick@24967.no-reply.drupal.org> | 2010-11-21 08:53:18 +0000 |
---|---|---|
committer | Angie Byron <webchick@24967.no-reply.drupal.org> | 2010-11-21 08:53:18 +0000 |
commit | 1242612ee7a9cc502895f31b3bd9e4b57587f8df (patch) | |
tree | 8741541b835b61bdd47fa29159d5adf4d5a82283 /modules | |
parent | 379ef5dbac428169cfff66dfd050525361f9b919 (diff) | |
download | brdo-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')
-rw-r--r-- | modules/simpletest/tests/menu.test | 16 | ||||
-rw-r--r-- | modules/simpletest/tests/menu_test.module | 51 |
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 |