Error message

You are browsing documentation for drupal 7.x, which is not supported anymore. Read the updated version of this page for drupal 11.x (the latest version).

function SystemAdminTestCase::testAdminPages

Tests output on administrative listing pages.

File

modules/system/system.test, line 2845

Class

SystemAdminTestCase
Tests administrative overview pages.

Code

function testAdminPages() {
 // Go to Administration.
 $this->drupalGet ('admin');
 // Verify that all visible, top-level administration links are listed on
 // the main administration page.
 foreach (menu_get_router () as $path => $item) {
 if (strpos ($path, 'admin/') === 0 && $item['type'] & MENU_VISIBLE_IN_TREE  && $item['_number_parts'] == 2) {
 $this->assertLink ($item['title']);
 $this->assertLinkByHref ($path);
 $this->assertText ($item['description']);
 }
 }
 // For each administrative listing page on which the Locale module appears,
 // verify that there are links to the module's primary configuration pages,
 // but no links to its individual sub-configuration pages. Also verify that
 // a user with access to only some Locale module administration pages only
 // sees links to the pages they have access to.
 $admin_list_pages = array(
 'admin/index',
 'admin/config',
 'admin/config/regional',
 );
 foreach ($admin_list_pages as $page) {
 // For the administrator, verify that there are links to Locale's primary
 // configuration pages, but no links to individual sub-configuration
 // pages.
 $this->drupalLogin ($this->admin_user );
 $this->drupalGet ($page);
 $this->assertLinkByHref ('admin/config');
 $this->assertLinkByHref ('admin/config/regional/settings');
 $this->assertLinkByHref ('admin/config/regional/date-time');
 $this->assertLinkByHref ('admin/config/regional/language');
 $this->assertNoLinkByHref ('admin/config/regional/language/configure/session');
 $this->assertNoLinkByHref ('admin/config/regional/language/configure/url');
 $this->assertLinkByHref ('admin/config/regional/translate');
 // On admin/index only, the administrator should also see a "Configure
 // permissions" link for the Locale module.
 if ($page == 'admin/index') {
 $this->assertLinkByHref ("admin/people/permissions#module-locale");
 }
 // For a less privileged user, verify that there are no links to Locale's
 // primary configuration pages, but a link to the translate page exists.
 $this->drupalLogin ($this->web_user );
 $this->drupalGet ($page);
 $this->assertLinkByHref ('admin/config');
 $this->assertNoLinkByHref ('admin/config/regional/settings');
 $this->assertNoLinkByHref ('admin/config/regional/date-time');
 $this->assertNoLinkByHref ('admin/config/regional/language');
 $this->assertNoLinkByHref ('admin/config/regional/language/configure/session');
 $this->assertNoLinkByHref ('admin/config/regional/language/configure/url');
 $this->assertLinkByHref ('admin/config/regional/translate');
 // This user cannot configure permissions, so even on admin/index should
 // not see a "Configure permissions" link for the Locale module.
 if ($page == 'admin/index') {
 $this->assertNoLinkByHref ("admin/people/permissions#module-locale");
 }
 }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.