trait RetrieveRoutingFilesTrait

Trait for test that needs to retrieve routing files.

Hierarchy

File

tests/src/Unit/RetrieveRoutingFilesTrait.php, line 8

Namespace

Drupal\Tests\examples\Unit
View source
trait RetrieveRoutingFilesTrait {
    
    /**
     * Callback to filter Drupal routing files.
     *
     * @param mixed $current
     *   The element being filtered.
     * @param string $key
     *   The element key.
     * @param mixed $iterator
     *   The iterator.
     *
     * @return bool
     *   Whether the current file is a Drupal config file.
     */
    protected static function routingFilesCallback(mixed $current, string $key, mixed $iterator) : bool {
        // A Drupal routing file has a filename that ends with .routing.yml, and it
        // is contained in a directory containing a .info.yml file with the same
        // name.
        // For example, node.routing.yml is a routing file if in the same directory
        // there is also a node.info.yml file.
        
        /** @var \SplFileInfo $current */
        
        /** @var \RecursiveDirectoryIterator $iterator */
        if (str_ends_with($current->getFileName(), '.routing.yml')) {
            return file_exists(substr($current->getPathName(), 0, -12) . '.info.yml');
        }
        return FALSE;
    }

}

Members

Title Sort descending Modifiers Object type Summary
RetrieveRoutingFilesTrait::routingFilesCallback protected static function Callback to filter Drupal routing files.