diff --git a/core/modules/user/lib/Drupal/user/Tests/UserAccountLinksTests.php b/core/modules/user/lib/Drupal/user/Tests/UserAccountLinksTests.php index 31a6c02..5ef4ba9 100644 --- a/core/modules/user/lib/Drupal/user/Tests/UserAccountLinksTests.php +++ b/core/modules/user/lib/Drupal/user/Tests/UserAccountLinksTests.php @@ -10,9 +10,17 @@ namespace Drupal\user\Tests; use Drupal\simpletest\WebTestBase; /** - * Test user-links in secondary menu. + * Tests user links in the secondary menu. */ class UserAccountLinksTests extends WebTestBase { + + /** + * Modules to enable. + * + * @var array + */ + public static $modules = array('menu'); + public static function getInfo() { return array( 'name' => 'User account links', @@ -56,4 +64,34 @@ class UserAccountLinksTests extends WebTestBase { $element = $this->xpath('//ul[@id=:menu_id]', array(':menu_id' => 'secondary-menu')); $this->assertEqual(count($element), 0, 'No secondary-menu for logged-out users.'); } + + /** + * Tests disabling the 'My account' link. + */ + function testDisabledAccountLink() { + // Create an admin user and log in. + $this->drupalLogin($this->drupalCreateUser(array('access administration pages', 'administer menu'))); + + // Verify that the 'My account' link is enabled. + $this->drupalGet('admin/structure/menu/manage/user-menu'); + $this->assertFieldChecked('edit-mlid2-hidden', "The 'My account' link is enabled by default."); + + // Disable the 'My account' link. + $edit = array( + 'mlid:2[hidden]' => FALSE, + ); + $this->drupalPost('admin/structure/menu/manage/user-menu', $edit, t('Save configuration')); + + // Get the homepage. + $this->drupalGet(''); + + // Verify that the 'My account' link does not appear when disabled. + $link = $this->xpath('//ul[@id=:menu_id]/li/a[contains(@href, :href) and text()=:text]', array( + ':menu_id' => 'secondary-menu', + ':href' => 'user', + ':text' => 'My account', + )); + $this->assertEqual(count($link), 0, 'My account link is not in the secondary menu.'); + } + }