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

Breadcrumb

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

class CodeCoverage

Same name in this branch
  1. 11.1.x vendor/phpunit/php-code-coverage/src/CodeCoverage.php \SebastianBergmann\CodeCoverage\CodeCoverage
  2. 11.1.x vendor/phpunit/phpunit/src/Metadata/Api/CodeCoverage.php \PHPUnit\Metadata\Api\CodeCoverage
  3. 11.1.x vendor/phpunit/phpunit/src/Runner/CodeCoverage.php \PHPUnit\Runner\CodeCoverage

@no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit

@internal This class is not covered by the backward compatibility promise for PHPUnit

@psalm-immutable

Hierarchy

  • class \PHPUnit\TextUI\XmlConfiguration\CodeCoverage\CodeCoverage

Expanded class hierarchy of CodeCoverage

4 files declare their use of CodeCoverage
Configuration.php in vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Configuration.php
DefaultConfiguration.php in vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/DefaultConfiguration.php
LoadedFromFileConfiguration.php in vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/LoadedFromFileConfiguration.php
Loader.php in vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Loader.php

File

vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/CodeCoverage/CodeCoverage.php, line 32

Namespace

PHPUnit\TextUI\XmlConfiguration\CodeCoverage
View source
final class CodeCoverage {
    private readonly ?Directory $cacheDirectory;
    private readonly FilterDirectoryCollection $directories;
    private readonly FileCollection $files;
    private readonly FilterDirectoryCollection $excludeDirectories;
    private readonly FileCollection $excludeFiles;
    private readonly bool $pathCoverage;
    private readonly bool $includeUncoveredFiles;
    private readonly bool $ignoreDeprecatedCodeUnits;
    private readonly bool $disableCodeCoverageIgnore;
    private readonly ?Clover $clover;
    private readonly ?Cobertura $cobertura;
    private readonly ?Crap4j $crap4j;
    private readonly ?Html $html;
    private readonly ?Php $php;
    private readonly ?Text $text;
    private readonly ?Xml $xml;
    public function __construct(?Directory $cacheDirectory, FilterDirectoryCollection $directories, FileCollection $files, FilterDirectoryCollection $excludeDirectories, FileCollection $excludeFiles, bool $pathCoverage, bool $includeUncoveredFiles, bool $ignoreDeprecatedCodeUnits, bool $disableCodeCoverageIgnore, ?Clover $clover, ?Cobertura $cobertura, ?Crap4j $crap4j, ?Html $html, ?Php $php, ?Text $text, ?Xml $xml) {
        $this->cacheDirectory = $cacheDirectory;
        $this->directories = $directories;
        $this->files = $files;
        $this->excludeDirectories = $excludeDirectories;
        $this->excludeFiles = $excludeFiles;
        $this->pathCoverage = $pathCoverage;
        $this->includeUncoveredFiles = $includeUncoveredFiles;
        $this->ignoreDeprecatedCodeUnits = $ignoreDeprecatedCodeUnits;
        $this->disableCodeCoverageIgnore = $disableCodeCoverageIgnore;
        $this->clover = $clover;
        $this->cobertura = $cobertura;
        $this->crap4j = $crap4j;
        $this->html = $html;
        $this->php = $php;
        $this->text = $text;
        $this->xml = $xml;
    }
    
    /**
     * @psalm-assert-if-true !null $this->cacheDirectory
     *
     * @deprecated
     */
    public function hasCacheDirectory() : bool {
        return $this->cacheDirectory !== null;
    }
    
    /**
     * @throws Exception
     *
     * @deprecated
     */
    public function cacheDirectory() : Directory {
        if (!$this->hasCacheDirectory()) {
            throw new Exception('No cache directory has been configured');
        }
        return $this->cacheDirectory;
    }
    public function hasNonEmptyListOfFilesToBeIncludedInCodeCoverageReport() : bool {
        return count($this->directories) > 0 || count($this->files) > 0;
    }
    public function directories() : FilterDirectoryCollection {
        return $this->directories;
    }
    public function files() : FileCollection {
        return $this->files;
    }
    public function excludeDirectories() : FilterDirectoryCollection {
        return $this->excludeDirectories;
    }
    public function excludeFiles() : FileCollection {
        return $this->excludeFiles;
    }
    public function pathCoverage() : bool {
        return $this->pathCoverage;
    }
    public function includeUncoveredFiles() : bool {
        return $this->includeUncoveredFiles;
    }
    public function ignoreDeprecatedCodeUnits() : bool {
        return $this->ignoreDeprecatedCodeUnits;
    }
    public function disableCodeCoverageIgnore() : bool {
        return $this->disableCodeCoverageIgnore;
    }
    
    /**
     * @psalm-assert-if-true !null $this->clover
     */
    public function hasClover() : bool {
        return $this->clover !== null;
    }
    
    /**
     * @throws Exception
     */
    public function clover() : Clover {
        if (!$this->hasClover()) {
            throw new Exception('Code Coverage report "Clover XML" has not been configured');
        }
        return $this->clover;
    }
    
    /**
     * @psalm-assert-if-true !null $this->cobertura
     */
    public function hasCobertura() : bool {
        return $this->cobertura !== null;
    }
    
    /**
     * @throws Exception
     */
    public function cobertura() : Cobertura {
        if (!$this->hasCobertura()) {
            throw new Exception('Code Coverage report "Cobertura XML" has not been configured');
        }
        return $this->cobertura;
    }
    
    /**
     * @psalm-assert-if-true !null $this->crap4j
     */
    public function hasCrap4j() : bool {
        return $this->crap4j !== null;
    }
    
    /**
     * @throws Exception
     */
    public function crap4j() : Crap4j {
        if (!$this->hasCrap4j()) {
            throw new Exception('Code Coverage report "Crap4J" has not been configured');
        }
        return $this->crap4j;
    }
    
    /**
     * @psalm-assert-if-true !null $this->html
     */
    public function hasHtml() : bool {
        return $this->html !== null;
    }
    
    /**
     * @throws Exception
     */
    public function html() : Html {
        if (!$this->hasHtml()) {
            throw new Exception('Code Coverage report "HTML" has not been configured');
        }
        return $this->html;
    }
    
    /**
     * @psalm-assert-if-true !null $this->php
     */
    public function hasPhp() : bool {
        return $this->php !== null;
    }
    
    /**
     * @throws Exception
     */
    public function php() : Php {
        if (!$this->hasPhp()) {
            throw new Exception('Code Coverage report "PHP" has not been configured');
        }
        return $this->php;
    }
    
    /**
     * @psalm-assert-if-true !null $this->text
     */
    public function hasText() : bool {
        return $this->text !== null;
    }
    
    /**
     * @throws Exception
     */
    public function text() : Text {
        if (!$this->hasText()) {
            throw new Exception('Code Coverage report "Text" has not been configured');
        }
        return $this->text;
    }
    
    /**
     * @psalm-assert-if-true !null $this->xml
     */
    public function hasXml() : bool {
        return $this->xml !== null;
    }
    
    /**
     * @throws Exception
     */
    public function xml() : Xml {
        if (!$this->hasXml()) {
            throw new Exception('Code Coverage report "XML" has not been configured');
        }
        return $this->xml;
    }

}

Members

Title Sort descending Modifiers Object type Summary
CodeCoverage::$cacheDirectory private property
CodeCoverage::$clover private property
CodeCoverage::$cobertura private property
CodeCoverage::$crap4j private property
CodeCoverage::$directories private property
CodeCoverage::$disableCodeCoverageIgnore private property
CodeCoverage::$excludeDirectories private property
CodeCoverage::$excludeFiles private property
CodeCoverage::$files private property
CodeCoverage::$html private property
CodeCoverage::$ignoreDeprecatedCodeUnits private property
CodeCoverage::$includeUncoveredFiles private property
CodeCoverage::$pathCoverage private property
CodeCoverage::$php private property
CodeCoverage::$text private property
CodeCoverage::$xml private property
CodeCoverage::cacheDirectory public function
CodeCoverage::clover public function
CodeCoverage::cobertura public function
CodeCoverage::crap4j public function
CodeCoverage::directories public function
CodeCoverage::disableCodeCoverageIgnore public function
CodeCoverage::excludeDirectories public function
CodeCoverage::excludeFiles public function
CodeCoverage::files public function
CodeCoverage::hasCacheDirectory public function @psalm-assert-if-true !null $this->cacheDirectory
CodeCoverage::hasClover public function @psalm-assert-if-true !null $this->clover
CodeCoverage::hasCobertura public function @psalm-assert-if-true !null $this->cobertura
CodeCoverage::hasCrap4j public function @psalm-assert-if-true !null $this->crap4j
CodeCoverage::hasHtml public function @psalm-assert-if-true !null $this->html
CodeCoverage::hasNonEmptyListOfFilesToBeIncludedInCodeCoverageReport public function
CodeCoverage::hasPhp public function @psalm-assert-if-true !null $this->php
CodeCoverage::hasText public function @psalm-assert-if-true !null $this->text
CodeCoverage::hasXml public function @psalm-assert-if-true !null $this->xml
CodeCoverage::html public function
CodeCoverage::ignoreDeprecatedCodeUnits public function
CodeCoverage::includeUncoveredFiles public function
CodeCoverage::pathCoverage public function
CodeCoverage::php public function
CodeCoverage::text public function
CodeCoverage::xml public function
CodeCoverage::__construct public function
RSS feed
Powered by Drupal