Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. Directory.php

class Directory

Same name in this branch
  1. 11.1.x vendor/phpunit/php-code-coverage/src/Node/Directory.php \SebastianBergmann\CodeCoverage\Node\Directory
  2. 11.1.x vendor/phpunit/php-code-coverage/src/Report/Xml/Directory.php \SebastianBergmann\CodeCoverage\Report\Xml\Directory
  3. 11.1.x vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Directory.php \PHPUnit\TextUI\Configuration\Directory

@internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage

Hierarchy

  • class \SebastianBergmann\CodeCoverage\Report\Html\Renderer
    • class \SebastianBergmann\CodeCoverage\Report\Html\Directory extends \SebastianBergmann\CodeCoverage\Report\Html\Renderer

Expanded class hierarchy of Directory

10 string references to 'Directory'
CreateProjectCommand::execute in vendor/composer/composer/src/Composer/Command/CreateProjectCommand.php
Executes the current command.
DirectoryLoader::load in vendor/symfony/routing/Loader/DirectoryLoader.php
DirectoryLoader::supports in vendor/symfony/routing/Loader/DirectoryLoader.php
DirectoryLoader::supports in vendor/symfony/dependency-injection/Loader/DirectoryLoader.php
file.schema.yml in core/modules/file/config/schema/file.schema.yml
core/modules/file/config/schema/file.schema.yml

... See full list

File

vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Directory.php, line 24

Namespace

SebastianBergmann\CodeCoverage\Report\Html
View source
final class Directory extends Renderer {
    public function render(DirectoryNode $node, string $file) : void {
        $templateName = $this->templatePath . ($this->hasBranchCoverage ? 'directory_branch.html' : 'directory.html');
        $template = new Template($templateName, '{{', '}}');
        $this->setCommonTemplateVariables($template, $node);
        $items = $this->renderItem($node, true);
        foreach ($node->directories() as $item) {
            $items .= $this->renderItem($item);
        }
        foreach ($node->files() as $item) {
            $items .= $this->renderItem($item);
        }
        $template->setVar([
            'id' => $node->id(),
            'items' => $items,
        ]);
        try {
            $template->renderTo($file);
        } catch (Exception $e) {
            throw new FileCouldNotBeWrittenException($e->getMessage(), $e->getCode(), $e);
        }
    }
    private function renderItem(Node $node, bool $total = false) : string {
        $data = [
            'numClasses' => $node->numberOfClassesAndTraits(),
            'numTestedClasses' => $node->numberOfTestedClassesAndTraits(),
            'numMethods' => $node->numberOfFunctionsAndMethods(),
            'numTestedMethods' => $node->numberOfTestedFunctionsAndMethods(),
            'linesExecutedPercent' => $node->percentageOfExecutedLines()
                ->asFloat(),
            'linesExecutedPercentAsString' => $node->percentageOfExecutedLines()
                ->asString(),
            'numExecutedLines' => $node->numberOfExecutedLines(),
            'numExecutableLines' => $node->numberOfExecutableLines(),
            'branchesExecutedPercent' => $node->percentageOfExecutedBranches()
                ->asFloat(),
            'branchesExecutedPercentAsString' => $node->percentageOfExecutedBranches()
                ->asString(),
            'numExecutedBranches' => $node->numberOfExecutedBranches(),
            'numExecutableBranches' => $node->numberOfExecutableBranches(),
            'pathsExecutedPercent' => $node->percentageOfExecutedPaths()
                ->asFloat(),
            'pathsExecutedPercentAsString' => $node->percentageOfExecutedPaths()
                ->asString(),
            'numExecutedPaths' => $node->numberOfExecutedPaths(),
            'numExecutablePaths' => $node->numberOfExecutablePaths(),
            'testedMethodsPercent' => $node->percentageOfTestedFunctionsAndMethods()
                ->asFloat(),
            'testedMethodsPercentAsString' => $node->percentageOfTestedFunctionsAndMethods()
                ->asString(),
            'testedClassesPercent' => $node->percentageOfTestedClassesAndTraits()
                ->asFloat(),
            'testedClassesPercentAsString' => $node->percentageOfTestedClassesAndTraits()
                ->asString(),
        ];
        if ($total) {
            $data['name'] = 'Total';
        }
        else {
            $up = str_repeat('../', count($node->pathAsArray()) - 2);
            $data['icon'] = sprintf('<img src="%s_icons/file-code.svg" class="octicon" />', $up);
            if ($node instanceof DirectoryNode) {
                $data['name'] = sprintf('<a href="%s/index.html">%s</a>', $node->name(), $node->name());
                $data['icon'] = sprintf('<img src="%s_icons/file-directory.svg" class="octicon" />', $up);
            }
            elseif ($this->hasBranchCoverage) {
                $data['name'] = sprintf('%s <a class="small" href="%s.html">[line]</a> <a class="small" href="%s_branch.html">[branch]</a> <a class="small" href="%s_path.html">[path]</a>', $node->name(), $node->name(), $node->name(), $node->name());
            }
            else {
                $data['name'] = sprintf('<a href="%s.html">%s</a>', $node->name(), $node->name());
            }
        }
        $templateName = $this->templatePath . ($this->hasBranchCoverage ? 'directory_item_branch.html' : 'directory_item.html');
        return $this->renderItemTemplate(new Template($templateName, '{{', '}}'), $data);
    }

}

Members

Title Sort descending Modifiers Object type Summary Overrides
Directory::render public function
Directory::renderItem private function
Renderer::$date protected property
Renderer::$generator protected property
Renderer::$hasBranchCoverage protected property
Renderer::$templatePath protected property
Renderer::$thresholds protected property
Renderer::$version protected property
Renderer::activeBreadcrumb protected function 1
Renderer::breadcrumbs protected function
Renderer::colorLevel protected function
Renderer::coverageBar protected function
Renderer::inactiveBreadcrumb protected function
Renderer::pathToRoot protected function
Renderer::renderItemTemplate protected function
Renderer::runtimeString private function
Renderer::setCommonTemplateVariables protected function
Renderer::__construct public function

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal