v1/web/core/tests/Drupal/KernelTests/FileSystemModuleDiscoveryDa...

32 lines
846 B
PHP

<?php
namespace Drupal\KernelTests;
/**
* A trait used in testing for providing a list of modules in a dataProvider.
*/
trait FileSystemModuleDiscoveryDataProviderTrait {
/**
* A data provider that lists every module in core.
*
* @return array
* An array of module names to test.
*/
public function coreModuleListDataProvider() {
$prefix = dirname(__DIR__, 3) . DIRECTORY_SEPARATOR . 'modules';
$module_dirs = array_keys(iterator_to_array(new \FilesystemIterator($prefix)));
$module_names = array_map(function ($path) use ($prefix) {
return str_replace($prefix . DIRECTORY_SEPARATOR, '', $path);
}, $module_dirs);
$modules_keyed = array_combine($module_names, $module_names);
$data = array_map(function ($module) {
return [$module];
}, $modules_keyed);
return $data;
}
}