InstallerDependenciesResolutionTest.php
Same filename in other branches
Namespace
Drupal\Tests\system\Kernel\InstallerFile
-
core/
modules/ system/ tests/ src/ Kernel/ Installer/ InstallerDependenciesResolutionTest.php
View source
<?php
namespace Drupal\Tests\system\Kernel\Installer;
use Drupal\Core\Extension\ProfileExtensionList;
use Drupal\KernelTests\KernelTestBase;
/**
* Tests that we handle module dependency resolution during install.
*
* @group Installer
*/
class InstallerDependenciesResolutionTest extends KernelTestBase {
/**
* {@inheritdoc}
*/
protected static $modules = [
'system',
];
/**
* Verifies that the exception message in the profile step is correct.
*/
public function testDependenciesResolution() {
// Prime the \Drupal\Core\Extension\ExtensionList::getPathname static cache
// with the location of the testing profile as it is not the currently
// active profile and we don't yet have any cached way to retrieve its
// location.
// @todo Remove as part of https://www.drupal.org/node/2186491
$profile_list = \Drupal::service('extension.list.profile');
assert($profile_list instanceof ProfileExtensionList);
$profile_list->setPathname('testing_missing_dependencies', 'core/profiles/testing_missing_dependencies/testing_missing_dependencies.info.yml');
$info = drupal_verify_profile([
'parameters' => [
'profile' => 'testing_missing_dependencies',
],
'profile_info' => install_profile_info('testing_missing_dependencies'),
]);
$message = $info['required_modules']['description']->render();
$this->assertStringContainsString('Fictional', $message);
$this->assertStringContainsString('Missing_module1', $message);
$this->assertStringContainsString('Missing_module2', $message);
$this->assertStringNotContainsString('Block', $message);
$this->assertStringNotContainsString('Node', $message);
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
InstallerDependenciesResolutionTest | Tests that we handle module dependency resolution during install. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.