Вход Регистрация
Файл: vendor/phpunit/phpunit/src/Runner/Hook/TestListenerAdapter.php
Строк: 96
<?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 PHPUnitRunner;

use 
PHPUnitFrameworkAssertionFailedError;
use 
PHPUnitFrameworkTest;
use 
PHPUnitFrameworkTestListener;
use 
PHPUnitFrameworkTestSuite;
use 
PHPUnitFrameworkWarning;
use 
PHPUnitUtilTest as TestUtil;
use 
Throwable;

/**
 * @internal This class is not covered by the backward compatibility promise for PHPUnit
 */
final class TestListenerAdapter implements TestListener
{
    
/**
     * @var TestHook[]
     */
    
private $hooks = [];

    
/**
     * @var bool
     */
    
private $lastTestWasNotSuccessful;

    public function 
add(TestHook $hook): void
    
{
        
$this->hooks[] = $hook;
    }

    public function 
startTest(Test $test): void
    
{
        foreach (
$this->hooks as $hook) {
            if (
$hook instanceof BeforeTestHook) {
                
$hook->executeBeforeTest(TestUtil::describeAsString($test));
            }
        }

        
$this->lastTestWasNotSuccessful false;
    }

    public function 
addError(Test $testThrowable $tfloat $time): void
    
{
        foreach (
$this->hooks as $hook) {
            if (
$hook instanceof AfterTestErrorHook) {
                
$hook->executeAfterTestError(TestUtil::describeAsString($test), $t->getMessage(), $time);
            }
        }

        
$this->lastTestWasNotSuccessful true;
    }

    public function 
addWarning(Test $testWarning $efloat $time): void
    
{
        foreach (
$this->hooks as $hook) {
            if (
$hook instanceof AfterTestWarningHook) {
                
$hook->executeAfterTestWarning(TestUtil::describeAsString($test), $e->getMessage(), $time);
            }
        }

        
$this->lastTestWasNotSuccessful true;
    }

    public function 
addFailure(Test $testAssertionFailedError $efloat $time): void
    
{
        foreach (
$this->hooks as $hook) {
            if (
$hook instanceof AfterTestFailureHook) {
                
$hook->executeAfterTestFailure(TestUtil::describeAsString($test), $e->getMessage(), $time);
            }
        }

        
$this->lastTestWasNotSuccessful true;
    }

    public function 
addIncompleteTest(Test $testThrowable $tfloat $time): void
    
{
        foreach (
$this->hooks as $hook) {
            if (
$hook instanceof AfterIncompleteTestHook) {
                
$hook->executeAfterIncompleteTest(TestUtil::describeAsString($test), $t->getMessage(), $time);
            }
        }

        
$this->lastTestWasNotSuccessful true;
    }

    public function 
addRiskyTest(Test $testThrowable $tfloat $time): void
    
{
        foreach (
$this->hooks as $hook) {
            if (
$hook instanceof AfterRiskyTestHook) {
                
$hook->executeAfterRiskyTest(TestUtil::describeAsString($test), $t->getMessage(), $time);
            }
        }

        
$this->lastTestWasNotSuccessful true;
    }

    public function 
addSkippedTest(Test $testThrowable $tfloat $time): void
    
{
        foreach (
$this->hooks as $hook) {
            if (
$hook instanceof AfterSkippedTestHook) {
                
$hook->executeAfterSkippedTest(TestUtil::describeAsString($test), $t->getMessage(), $time);
            }
        }

        
$this->lastTestWasNotSuccessful true;
    }

    public function 
endTest(Test $testfloat $time): void
    
{
        if (!
$this->lastTestWasNotSuccessful) {
            foreach (
$this->hooks as $hook) {
                if (
$hook instanceof AfterSuccessfulTestHook) {
                    
$hook->executeAfterSuccessfulTest(TestUtil::describeAsString($test), $time);
                }
            }
        }

        foreach (
$this->hooks as $hook) {
            if (
$hook instanceof AfterTestHook) {
                
$hook->executeAfterTest(TestUtil::describeAsString($test), $time);
            }
        }
    }

    public function 
startTestSuite(TestSuite $suite): void
    
{
    }

    public function 
endTestSuite(TestSuite $suite): void
    
{
    }
}
Онлайн: 1
Реклама