34 lines
		
	
	
		
			886 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			886 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
declare(strict_types=1);
 | 
						|
 | 
						|
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 static function coreModuleListDataProvider(): array {
 | 
						|
    $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;
 | 
						|
  }
 | 
						|
 | 
						|
}
 |