function ModuleRequiredByThemesUninstallValidatorTest::testValidateOneThemeDependencyWithProjectPrefix

Same name and namespace in other branches
  1. 11.x core/tests/Drupal/Tests/Core/Extension/ModuleRequiredByThemesUninstallValidatorTest.php \Drupal\Tests\Core\Extension\ModuleRequiredByThemesUninstallValidatorTest::testValidateOneThemeDependencyWithProjectPrefix()

Tests theme dependencies with a project prefix.

Theme dependencies may be declared with a project prefix, for example 'drupal:node', and must still be matched to the module.

File

core/tests/Drupal/Tests/Core/Extension/ModuleRequiredByThemesUninstallValidatorTest.php, line 165

Class

ModuleRequiredByThemesUninstallValidatorTest
Tests Drupal\Core\Extension\ModuleRequiredByThemesUninstallValidator.

Namespace

Drupal\Tests\Core\Extension

Code

public function testValidateOneThemeDependencyWithProjectPrefix() : void {
  $module = 'single_module';
  $theme_name = 'One Theme';
  $this->themeExtensionList
    ->getAllInstalledInfo()
    ->willReturn([
    'stark' => [
      'name' => 'Stark',
      'dependencies' => [],
    ],
    'default_admin' => [
      'name' => 'Default Admin',
      'dependencies' => [],
    ],
    'one_theme' => [
      'name' => $theme_name,
      'dependencies' => [
        'drupal:' . $module,
      ],
    ],
  ]);
  $this->moduleExtensionList
    ->get($module)
    ->willReturn((object) [
    'info' => [
      'name' => 'Single Module',
    ],
  ]);
  $reasons = $this->moduleRequiredByThemeUninstallValidator
    ->validate($module);
  $this->assertEquals([
    "Required by the theme: {$theme_name}",
  ], $reasons);
}

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