'Menu example functionality', 'description' => 'Checks behavior of Menu Example.', 'group' => 'Examples', ); } /** * Enable modules and create user with specific permissions. */ public function setUp() { parent::setUp('menu_example'); } /** * Test the various menus. */ public function testMenuExample() { $this->drupalGet(''); $this->assertText(t('Menu Example: Menu in alternate menu')); $this->clickLink(t('Menu Example')); $this->assertText(t('This is the base page of the Menu Example')); $this->drupalGet('examples/menu_example_alternate_menu'); $this->assertResponse(200); $this->clickLink(t('Custom Access Example')); $this->assertText(t('Custom Access Example')); $this->clickLink(t('examples/menu_example/custom_access/page')); $this->assertResponse(403); $this->drupalGet('examples/menu_example/permissioned'); $this->assertText(t('Permissioned Example')); $this->clickLink('examples/menu_example/permissioned/controlled'); $this->assertResponse(403); $this->drupalGet('examples/menu_example'); $this->clickLink(t('MENU_CALLBACK example')); $this->drupalGet('examples/menu_example/path_only/callback'); $this->assertText(t('The menu entry for this page is of type MENU_CALLBACK')); $this->clickLink(t('Tabs')); $this->assertText(t('This is the "tabs" menu entry')); $this->drupalGet('examples/menu_example/tabs/second'); $this->assertText(t('This is the tab "second" in the "basic tabs" example')); $this->clickLink(t('third')); $this->assertText(t('This is the tab "third" in the "basic tabs" example')); $this->clickLink(t('Extra Arguments')); $this->drupalGet('examples/menu_example/use_url_arguments/one/two'); $this->assertText(t('Argument 1=one')); $this->clickLink(t('Placeholder Arguments')); $this->clickLink(t('examples/menu_example/placeholder_argument/3343/display')); $this->assertRaw('
3343
'); $this->clickLink(t('Processed Placeholder Arguments')); $this->assertText(t('Loaded value was jackpot! default')); // Create a user with permissions to access protected menu entry. $web_user = $this->drupalCreateUser(array('access protected menu example')); // Use custom overridden drupalLogin function to verify the user is logged // in. $this->drupalLogin($web_user); // Check that our title callback changing /user dynamically is working. // Using ' because of the format_username function. $this->assertRaw(t("@name's account", array('@name' => format_username($web_user))), format_string('Title successfully changed to account name: %name.', array('%name' => $web_user->name))); // Now start testing other menu entries. $this->drupalGet('examples/menu_example'); $this->clickLink(t('Custom Access Example')); $this->assertText(t('Custom Access Example')); $this->drupalGet('examples/menu_example/custom_access/page'); $this->assertResponse(200); $this->drupalGet('examples/menu_example/permissioned'); $this->assertText('Permissioned Example'); $this->clickLink('examples/menu_example/permissioned/controlled'); $this->assertText('This menu entry will not show'); $this->drupalGet('examples/menu_example/menu_altered_path'); $this->assertText('This menu item was created strictly to allow the hook_menu_alter()'); } }