function BlockTest::testUninstallTheme
Tests that uninstalling a theme removes its block configuration.
File
- 
              core/
modules/ block/ tests/ src/ Functional/ BlockTest.php, line 554  
Class
- BlockTest
 - Tests basic block functionality.
 
Namespace
Drupal\Tests\block\FunctionalCode
public function testUninstallTheme() : void {
  /** @var \Drupal\Core\Extension\ThemeInstallerInterface $theme_installer */
  $theme_installer = \Drupal::service('theme_installer');
  $theme_installer->install([
    'claro',
  ]);
  $this->config('system.theme')
    ->set('default', 'claro')
    ->save();
  $block = $this->drupalPlaceBlock('system_powered_by_block', [
    'theme' => 'claro',
    'region' => 'help',
  ]);
  $this->drupalGet('<front>');
  $this->assertSession()
    ->pageTextContains('Powered by Drupal');
  $this->config('system.theme')
    ->set('default', 'stark')
    ->save();
  $theme_installer->uninstall([
    'claro',
  ]);
  // Ensure that the block configuration does not exist anymore.
  $this->assertNull(Block::load($block->id()));
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.