protected function ExtensionListTest::setupTestExtensionList in Drupal 10
Same name and namespace in other branches
- 8 core/tests/Drupal/Tests/Core/Extension/ExtensionListTest.php \Drupal\Tests\Core\Extension\ExtensionListTest::setupTestExtensionList()
- 9 core/tests/Drupal/Tests/Core/Extension/ExtensionListTest.php \Drupal\Tests\Core\Extension\ExtensionListTest::setupTestExtensionList()
Sets up an a test extension list.
Parameters
string[] $extension_names: The names of the extensions to create.
mixed[] $additional_info_values: The additional values to add to extensions info.yml files. These values will be encoded using '\Drupal\Component\Serialization\Yaml::encode()'. The array keys should be valid top level yaml file keys.
Return value
\Drupal\Tests\Core\Extension\TestExtension The test extension list.
12 calls to ExtensionListTest::setupTestExtensionList()
- ExtensionListTest::testCheckIncompatibility in core/
tests/ Drupal/ Tests/ Core/ Extension/ ExtensionListTest.php - @covers ::checkIncompatibility
- ExtensionListTest::testGet in core/
tests/ Drupal/ Tests/ Core/ Extension/ ExtensionListTest.php - @covers ::get
- ExtensionListTest::testGetAllAvailableInfo in core/
tests/ Drupal/ Tests/ Core/ Extension/ ExtensionListTest.php - @covers ::getAllAvailableInfo
- ExtensionListTest::testGetAllInstalledInfo in core/
tests/ Drupal/ Tests/ Core/ Extension/ ExtensionListTest.php - @covers ::getAllInstalledInfo
- ExtensionListTest::testGetExtensionInfo in core/
tests/ Drupal/ Tests/ Core/ Extension/ ExtensionListTest.php - @covers ::getExtensionInfo @covers ::getAllInstalledInfo
File
- core/
tests/ Drupal/ Tests/ Core/ Extension/ ExtensionListTest.php, line 279
Class
- ExtensionListTest
- @coversDefaultClass \Drupal\Core\Extension\ExtensionList @group Extension
Namespace
Drupal\Tests\Core\ExtensionCode
protected function setupTestExtensionList(array $extension_names = [
'test_name',
], array $additional_info_values = []) {
vfsStream::setup('drupal_root');
$folders = [
'example' => [],
];
foreach ($extension_names as $extension_name) {
$folders['example'][$extension_name][$extension_name . '.info.yml'] = Yaml::encode([
'name' => 'test name',
'type' => 'test_extension',
'core' => '8.x',
] + $additional_info_values);
}
vfsStream::create($folders);
foreach ($extension_names as $extension_name) {
touch("vfs://drupal_root/example/{$extension_name}/{$extension_name}.info.yml", 123456789);
}
[
$cache,
$info_parser,
$module_handler,
$state,
] = $this
->getMocks();
$info_parser
->parse(Argument::any())
->will(function ($args) {
return Yaml::decode(file_get_contents('vfs://drupal_root/' . $args[0]));
});
$test_extension_list = new TestExtension('vfs://drupal_root', 'test_extension', $cache
->reveal(), $info_parser
->reveal(), $module_handler
->reveal(), $state
->reveal(), 'testing');
$extension_discovery = $this
->prophesize(ExtensionDiscovery::class);
$extension_scan_result = [];
foreach ($extension_names as $extension_name) {
$extension_scan_result[$extension_name] = new Extension('vfs://drupal_root', 'test_extension', "example/{$extension_name}/{$extension_name}.info.yml");
}
$extension_discovery
->scan('test_extension')
->willReturn($extension_scan_result);
$test_extension_list
->setExtensionDiscovery($extension_discovery
->reveal());
return $test_extension_list;
}