=== modified file 'modules/simpletest/tests/menu.test' --- modules/simpletest/tests/menu.test 2008-12-28 19:00:08 +0000 +++ modules/simpletest/tests/menu.test 2009-01-12 08:38:52 +0000 @@ -77,3 +77,38 @@ } } + +/** + * Tests the default access callback for menu items. + */ +class MenuAccessTestCase extends DrupalWebTestCase { + function getInfo() { + return array( + 'name' => t('Default access callback'), + 'description' => t('Tests default menu access default callback.'), + 'group' => t('Menu') + ); + } + + function setUp() { + // Enable dummy module that implements hook_menu. + parent::setUp('menu_test'); + } + + /** + * Test that the default access callback for menu items is working correctly. + */ + function testMenuDefaultAccessCallback() { + // Test with authorized user. + $web_user = $this->drupalCreateUser(array('access test callback')); + $this->drupalLogin($web_user); + $this->drupalGet('default_access_callback'); + $this->assertResponse(200, t('User with permissions can access menu item using default access callback.')); + + // Test with an unauthorized user. + $web_user = $this->drupalCreateUser(); + $this->drupalLogin($web_user); + $this->drupalGet('default_access_callback'); + $this->assertResponse(403, t('User without permissions is denied access using default access callback.')); + } +} \ No newline at end of file === modified file 'modules/simpletest/tests/menu_test.module' --- modules/simpletest/tests/menu_test.module 2008-12-28 19:00:08 +0000 +++ modules/simpletest/tests/menu_test.module 2009-01-12 08:41:09 +0000 @@ -3,18 +3,33 @@ /** * @file - * Dummy module implementing hook menu to test changing the menu name. + * Dummy module implementing hook menu for menu system tests. */ /** - * The name of the menu changes during the course of this test. Use a $_GET. + * Implementation of hook_menu(). */ function menu_test_menu() { - + // The name of the menu changes during the course of this test. Use a $_GET. $items['menu_name_test'] = array( 'title' => t('Test menu_name router item'), 'page callback' => 'node_save', 'menu_name' => isset($_GET["hook_menu_name"]) ? $_GET["hook_menu_name"] : 'original', ); + $items['default_access_callback'] = array( + 'title' => 'Test default access callback', + 'page callback' => 'node_page_default', + 'access arguments' => array('access test callback'), + 'type' => MENU_CALLBACK, + ); return $items; -} \ No newline at end of file +} + +/** + * Implmentation of hook_perm(). + */ +function menu_test_perm() { + return array( + 'access test callback' => 'A permission for testing default menu callbacks.', + ); +}