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

Breadcrumb

  1. Drupal Core 11.1.x

TestResult.php

Same filename in this branch
  1. 11.1.x vendor/phpunit/phpunit/src/Logging/TestDox/TestResult/TestResult.php

Namespace

PHPUnit\TestRunner\TestResult

File

vendor/phpunit/phpunit/src/Runner/TestResult/TestResult.php

View source
<?php

declare (strict_types=1);

/*
 * This file is part of PHPUnit.
 *
 * (c) Sebastian Bergmann <sebastian@phpunit.de>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace PHPUnit\TestRunner\TestResult;

use function count;
use PHPUnit\Event\Test\BeforeFirstTestMethodErrored;
use PHPUnit\Event\Test\ConsideredRisky;
use PHPUnit\Event\Test\Errored;
use PHPUnit\Event\Test\Failed;
use PHPUnit\Event\Test\MarkedIncomplete;
use PHPUnit\Event\Test\PhpunitDeprecationTriggered;
use PHPUnit\Event\Test\PhpunitErrorTriggered;
use PHPUnit\Event\Test\PhpunitWarningTriggered;
use PHPUnit\Event\Test\Skipped as TestSkipped;
use PHPUnit\Event\TestRunner\DeprecationTriggered as TestRunnerDeprecationTriggered;
use PHPUnit\Event\TestRunner\WarningTriggered as TestRunnerWarningTriggered;
use PHPUnit\Event\TestSuite\Skipped as TestSuiteSkipped;
use PHPUnit\TestRunner\TestResult\Issues\Issue;

/**
 * @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
 */
final class TestResult {
    private readonly int $numberOfTests;
    private readonly int $numberOfTestsRun;
    private readonly int $numberOfAssertions;
    
    /**
     * @psalm-var list<BeforeFirstTestMethodErrored|Errored>
     */
    private readonly array $testErroredEvents;
    
    /**
     * @psalm-var list<Failed>
     */
    private readonly array $testFailedEvents;
    
    /**
     * @psalm-var list<MarkedIncomplete>
     */
    private readonly array $testMarkedIncompleteEvents;
    
    /**
     * @psalm-var list<TestSuiteSkipped>
     */
    private readonly array $testSuiteSkippedEvents;
    
    /**
     * @psalm-var list<TestSkipped>
     */
    private readonly array $testSkippedEvents;
    
    /**
     * @psalm-var array<string,list<ConsideredRisky>>
     */
    private readonly array $testConsideredRiskyEvents;
    
    /**
     * @psalm-var array<string,list<PhpunitDeprecationTriggered>>
     */
    private readonly array $testTriggeredPhpunitDeprecationEvents;
    
    /**
     * @psalm-var array<string,list<PhpunitErrorTriggered>>
     */
    private readonly array $testTriggeredPhpunitErrorEvents;
    
    /**
     * @psalm-var array<string,list<PhpunitWarningTriggered>>
     */
    private readonly array $testTriggeredPhpunitWarningEvents;
    
    /**
     * @psalm-var list<TestRunnerDeprecationTriggered>
     */
    private readonly array $testRunnerTriggeredDeprecationEvents;
    
    /**
     * @psalm-var list<TestRunnerWarningTriggered>
     */
    private readonly array $testRunnerTriggeredWarningEvents;
    
    /**
     * @psalm-var list<Issue>
     */
    private readonly array $errors;
    
    /**
     * @psalm-var list<Issue>
     */
    private readonly array $deprecations;
    
    /**
     * @psalm-var list<Issue>
     */
    private readonly array $notices;
    
    /**
     * @psalm-var list<Issue>
     */
    private readonly array $warnings;
    
    /**
     * @psalm-var list<Issue>
     */
    private readonly array $phpDeprecations;
    
    /**
     * @psalm-var list<Issue>
     */
    private readonly array $phpNotices;
    
    /**
     * @psalm-var list<Issue>
     */
    private readonly array $phpWarnings;
    
    /**
     * @psalm-var non-negative-int
     */
    private readonly int $numberOfIssuesIgnoredByBaseline;
    
    /**
     * @psalm-param list<BeforeFirstTestMethodErrored|Errored> $testErroredEvents
     * @psalm-param list<Failed> $testFailedEvents
     * @psalm-param array<string,list<ConsideredRisky>> $testConsideredRiskyEvents
     * @psalm-param list<TestSuiteSkipped> $testSuiteSkippedEvents
     * @psalm-param list<TestSkipped> $testSkippedEvents
     * @psalm-param list<MarkedIncomplete> $testMarkedIncompleteEvents
     * @psalm-param array<string,list<PhpunitDeprecationTriggered>> $testTriggeredPhpunitDeprecationEvents
     * @psalm-param array<string,list<PhpunitErrorTriggered>> $testTriggeredPhpunitErrorEvents
     * @psalm-param array<string,list<PhpunitWarningTriggered>> $testTriggeredPhpunitWarningEvents
     * @psalm-param list<TestRunnerDeprecationTriggered> $testRunnerTriggeredDeprecationEvents
     * @psalm-param list<TestRunnerWarningTriggered> $testRunnerTriggeredWarningEvents
     * @psalm-param list<Issue> $errors
     * @psalm-param list<Issue> $deprecations
     * @psalm-param list<Issue> $notices
     * @psalm-param list<Issue> $warnings
     * @psalm-param list<Issue> $phpDeprecations
     * @psalm-param list<Issue> $phpNotices
     * @psalm-param list<Issue> $phpWarnings
     * @psalm-param non-negative-int $numberOfIssuesIgnoredByBaseline
     */
    public function __construct(int $numberOfTests, int $numberOfTestsRun, int $numberOfAssertions, array $testErroredEvents, array $testFailedEvents, array $testConsideredRiskyEvents, array $testSuiteSkippedEvents, array $testSkippedEvents, array $testMarkedIncompleteEvents, array $testTriggeredPhpunitDeprecationEvents, array $testTriggeredPhpunitErrorEvents, array $testTriggeredPhpunitWarningEvents, array $testRunnerTriggeredDeprecationEvents, array $testRunnerTriggeredWarningEvents, array $errors, array $deprecations, array $notices, array $warnings, array $phpDeprecations, array $phpNotices, array $phpWarnings, int $numberOfIssuesIgnoredByBaseline) {
        $this->numberOfTests = $numberOfTests;
        $this->numberOfTestsRun = $numberOfTestsRun;
        $this->numberOfAssertions = $numberOfAssertions;
        $this->testErroredEvents = $testErroredEvents;
        $this->testFailedEvents = $testFailedEvents;
        $this->testConsideredRiskyEvents = $testConsideredRiskyEvents;
        $this->testSuiteSkippedEvents = $testSuiteSkippedEvents;
        $this->testSkippedEvents = $testSkippedEvents;
        $this->testMarkedIncompleteEvents = $testMarkedIncompleteEvents;
        $this->testTriggeredPhpunitDeprecationEvents = $testTriggeredPhpunitDeprecationEvents;
        $this->testTriggeredPhpunitErrorEvents = $testTriggeredPhpunitErrorEvents;
        $this->testTriggeredPhpunitWarningEvents = $testTriggeredPhpunitWarningEvents;
        $this->testRunnerTriggeredDeprecationEvents = $testRunnerTriggeredDeprecationEvents;
        $this->testRunnerTriggeredWarningEvents = $testRunnerTriggeredWarningEvents;
        $this->errors = $errors;
        $this->deprecations = $deprecations;
        $this->notices = $notices;
        $this->warnings = $warnings;
        $this->phpDeprecations = $phpDeprecations;
        $this->phpNotices = $phpNotices;
        $this->phpWarnings = $phpWarnings;
        $this->numberOfIssuesIgnoredByBaseline = $numberOfIssuesIgnoredByBaseline;
    }
    public function numberOfTestsRun() : int {
        return $this->numberOfTestsRun;
    }
    public function numberOfAssertions() : int {
        return $this->numberOfAssertions;
    }
    
    /**
     * @psalm-return list<BeforeFirstTestMethodErrored|Errored>
     */
    public function testErroredEvents() : array {
        return $this->testErroredEvents;
    }
    public function numberOfTestErroredEvents() : int {
        return count($this->testErroredEvents);
    }
    public function hasTestErroredEvents() : bool {
        return $this->numberOfTestErroredEvents() > 0;
    }
    
    /**
     * @psalm-return list<Failed>
     */
    public function testFailedEvents() : array {
        return $this->testFailedEvents;
    }
    public function numberOfTestFailedEvents() : int {
        return count($this->testFailedEvents);
    }
    public function hasTestFailedEvents() : bool {
        return $this->numberOfTestFailedEvents() > 0;
    }
    
    /**
     * @psalm-return array<string,list<ConsideredRisky>>
     */
    public function testConsideredRiskyEvents() : array {
        return $this->testConsideredRiskyEvents;
    }
    public function numberOfTestsWithTestConsideredRiskyEvents() : int {
        return count($this->testConsideredRiskyEvents);
    }
    public function hasTestConsideredRiskyEvents() : bool {
        return $this->numberOfTestsWithTestConsideredRiskyEvents() > 0;
    }
    
    /**
     * @psalm-return list<TestSuiteSkipped>
     */
    public function testSuiteSkippedEvents() : array {
        return $this->testSuiteSkippedEvents;
    }
    public function numberOfTestSuiteSkippedEvents() : int {
        return count($this->testSuiteSkippedEvents);
    }
    public function hasTestSuiteSkippedEvents() : bool {
        return $this->numberOfTestSuiteSkippedEvents() > 0;
    }
    
    /**
     * @psalm-return list<TestSkipped>
     */
    public function testSkippedEvents() : array {
        return $this->testSkippedEvents;
    }
    public function numberOfTestSkippedEvents() : int {
        return count($this->testSkippedEvents);
    }
    public function hasTestSkippedEvents() : bool {
        return $this->numberOfTestSkippedEvents() > 0;
    }
    
    /**
     * @psalm-return list<MarkedIncomplete>
     */
    public function testMarkedIncompleteEvents() : array {
        return $this->testMarkedIncompleteEvents;
    }
    public function numberOfTestMarkedIncompleteEvents() : int {
        return count($this->testMarkedIncompleteEvents);
    }
    public function hasTestMarkedIncompleteEvents() : bool {
        return $this->numberOfTestMarkedIncompleteEvents() > 0;
    }
    
    /**
     * @psalm-return array<string,list<PhpunitDeprecationTriggered>>
     */
    public function testTriggeredPhpunitDeprecationEvents() : array {
        return $this->testTriggeredPhpunitDeprecationEvents;
    }
    public function numberOfTestsWithTestTriggeredPhpunitDeprecationEvents() : int {
        return count($this->testTriggeredPhpunitDeprecationEvents);
    }
    public function hasTestTriggeredPhpunitDeprecationEvents() : bool {
        return $this->numberOfTestsWithTestTriggeredPhpunitDeprecationEvents() > 0;
    }
    
    /**
     * @psalm-return array<string,list<PhpunitErrorTriggered>>
     */
    public function testTriggeredPhpunitErrorEvents() : array {
        return $this->testTriggeredPhpunitErrorEvents;
    }
    public function numberOfTestsWithTestTriggeredPhpunitErrorEvents() : int {
        return count($this->testTriggeredPhpunitErrorEvents);
    }
    public function hasTestTriggeredPhpunitErrorEvents() : bool {
        return $this->numberOfTestsWithTestTriggeredPhpunitErrorEvents() > 0;
    }
    
    /**
     * @psalm-return array<string,list<PhpunitWarningTriggered>>
     */
    public function testTriggeredPhpunitWarningEvents() : array {
        return $this->testTriggeredPhpunitWarningEvents;
    }
    public function numberOfTestsWithTestTriggeredPhpunitWarningEvents() : int {
        return count($this->testTriggeredPhpunitWarningEvents);
    }
    public function hasTestTriggeredPhpunitWarningEvents() : bool {
        return $this->numberOfTestsWithTestTriggeredPhpunitWarningEvents() > 0;
    }
    
    /**
     * @psalm-return list<TestRunnerDeprecationTriggered>
     */
    public function testRunnerTriggeredDeprecationEvents() : array {
        return $this->testRunnerTriggeredDeprecationEvents;
    }
    public function numberOfTestRunnerTriggeredDeprecationEvents() : int {
        return count($this->testRunnerTriggeredDeprecationEvents);
    }
    public function hasTestRunnerTriggeredDeprecationEvents() : bool {
        return $this->numberOfTestRunnerTriggeredDeprecationEvents() > 0;
    }
    
    /**
     * @psalm-return list<TestRunnerWarningTriggered>
     */
    public function testRunnerTriggeredWarningEvents() : array {
        return $this->testRunnerTriggeredWarningEvents;
    }
    public function numberOfTestRunnerTriggeredWarningEvents() : int {
        return count($this->testRunnerTriggeredWarningEvents);
    }
    public function hasTestRunnerTriggeredWarningEvents() : bool {
        return $this->numberOfTestRunnerTriggeredWarningEvents() > 0;
    }
    public function wasSuccessful() : bool {
        return $this->wasSuccessfulIgnoringPhpunitWarnings() && !$this->hasTestTriggeredPhpunitErrorEvents() && !$this->hasTestRunnerTriggeredWarningEvents() && !$this->hasTestTriggeredPhpunitWarningEvents();
    }
    public function wasSuccessfulIgnoringPhpunitWarnings() : bool {
        return !$this->hasTestErroredEvents() && !$this->hasTestFailedEvents();
    }
    public function wasSuccessfulAndNoTestHasIssues() : bool {
        return $this->wasSuccessful() && !$this->hasTestsWithIssues();
    }
    public function hasTestsWithIssues() : bool {
        return $this->hasRiskyTests() || $this->hasIncompleteTests() || $this->hasDeprecations() || !empty($this->errors) || $this->hasNotices() || $this->hasWarnings();
    }
    
    /**
     * @psalm-return list<Issue>
     */
    public function errors() : array {
        return $this->errors;
    }
    
    /**
     * @psalm-return list<Issue>
     */
    public function deprecations() : array {
        return $this->deprecations;
    }
    
    /**
     * @psalm-return list<Issue>
     */
    public function notices() : array {
        return $this->notices;
    }
    
    /**
     * @psalm-return list<Issue>
     */
    public function warnings() : array {
        return $this->warnings;
    }
    
    /**
     * @psalm-return list<Issue>
     */
    public function phpDeprecations() : array {
        return $this->phpDeprecations;
    }
    
    /**
     * @psalm-return list<Issue>
     */
    public function phpNotices() : array {
        return $this->phpNotices;
    }
    
    /**
     * @psalm-return list<Issue>
     */
    public function phpWarnings() : array {
        return $this->phpWarnings;
    }
    public function hasTests() : bool {
        return $this->numberOfTests > 0;
    }
    public function hasErrors() : bool {
        return $this->numberOfErrors() > 0;
    }
    public function numberOfErrors() : int {
        return $this->numberOfTestErroredEvents() + count($this->errors) + $this->numberOfTestsWithTestTriggeredPhpunitErrorEvents();
    }
    public function hasDeprecations() : bool {
        return $this->numberOfDeprecations() > 0;
    }
    public function hasPhpOrUserDeprecations() : bool {
        return $this->numberOfPhpOrUserDeprecations() > 0;
    }
    public function numberOfPhpOrUserDeprecations() : int {
        return count($this->deprecations) + count($this->phpDeprecations);
    }
    public function hasPhpunitDeprecations() : bool {
        return $this->numberOfPhpunitDeprecations() > 0;
    }
    public function numberOfPhpunitDeprecations() : int {
        return count($this->testTriggeredPhpunitDeprecationEvents) + count($this->testRunnerTriggeredDeprecationEvents);
    }
    public function numberOfDeprecations() : int {
        return count($this->deprecations) + count($this->phpDeprecations) + count($this->testTriggeredPhpunitDeprecationEvents) + count($this->testRunnerTriggeredDeprecationEvents);
    }
    public function hasNotices() : bool {
        return $this->numberOfNotices() > 0;
    }
    public function numberOfNotices() : int {
        return count($this->notices) + count($this->phpNotices);
    }
    public function hasWarnings() : bool {
        return $this->numberOfWarnings() > 0;
    }
    public function numberOfWarnings() : int {
        return count($this->warnings) + count($this->phpWarnings) + count($this->testTriggeredPhpunitWarningEvents) + count($this->testRunnerTriggeredWarningEvents);
    }
    public function hasIncompleteTests() : bool {
        return !empty($this->testMarkedIncompleteEvents);
    }
    public function hasRiskyTests() : bool {
        return !empty($this->testConsideredRiskyEvents);
    }
    public function hasSkippedTests() : bool {
        return !empty($this->testSkippedEvents);
    }
    public function hasIssuesIgnoredByBaseline() : bool {
        return $this->numberOfIssuesIgnoredByBaseline > 0;
    }
    
    /**
     * @psalm-return non-negative-int
     */
    public function numberOfIssuesIgnoredByBaseline() : int {
        return $this->numberOfIssuesIgnoredByBaseline;
    }

}

Classes

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

API Navigation

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