Chris@0: drupalCreateUser(['administer blocks', 'administer themes']); Chris@0: $this->drupalLogin($admin_user); Chris@0: Chris@0: // Ensure that access to block admin page is denied when theme is not Chris@0: // installed. Chris@0: $this->drupalGet('admin/structure/block/list/bartik'); Chris@0: $this->assertResponse(403); Chris@0: Chris@0: // Install admin theme and confirm that tab is accessible. Chris@0: \Drupal::service('theme_handler')->install(['bartik']); Chris@0: $edit['admin_theme'] = 'bartik'; Chris@0: $this->drupalPostForm('admin/appearance', $edit, t('Save configuration')); Chris@0: $this->drupalGet('admin/structure/block/list/bartik'); Chris@0: $this->assertResponse(200); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Ensure contextual links are disabled in Seven theme. Chris@0: */ Chris@0: public function testSevenAdminTheme() { Chris@0: // Create administrative user. Chris@0: $admin_user = $this->drupalCreateUser([ Chris@0: 'access administration pages', Chris@0: 'administer themes', Chris@0: 'access contextual links', Chris@0: 'view the administration theme', Chris@0: ]); Chris@0: $this->drupalLogin($admin_user); Chris@0: Chris@0: // Install admin theme and confirm that tab is accessible. Chris@0: \Drupal::service('theme_handler')->install(['seven']); Chris@0: $edit['admin_theme'] = 'seven'; Chris@0: $this->drupalPostForm('admin/appearance', $edit, t('Save configuration')); Chris@0: Chris@0: // Define our block settings. Chris@0: $settings = [ Chris@0: 'theme' => 'seven', Chris@0: 'region' => 'header', Chris@0: ]; Chris@0: Chris@0: // Place a block. Chris@0: $block = $this->drupalPlaceBlock('local_tasks_block', $settings); Chris@0: Chris@0: // Open admin page. Chris@0: $this->drupalGet('admin'); Chris@0: Chris@0: // Check if contextual link classes are unavailable. Chris@0: $this->assertNoRaw('
'); Chris@0: $this->assertNoRaw('contextual-region'); Chris@0: } Chris@0: Chris@0: }