[PhpUnitBridge] Add compatibility to PHPUnit 9 #35662
This commit is contained in:
parent
12f1c7c4a3
commit
771c642a43
63
src/Symfony/Bridge/PhpUnit/Legacy/CommandForV9.php
Normal file
63
src/Symfony/Bridge/PhpUnit/Legacy/CommandForV9.php
Normal file
@ -0,0 +1,63 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Bridge\PhpUnit\Legacy;
|
||||
|
||||
use PHPUnit\TextUI\Command as BaseCommand;
|
||||
use PHPUnit\TextUI\Configuration\Configuration;
|
||||
use PHPUnit\TextUI\Configuration\Registry;
|
||||
use PHPUnit\TextUI\TestRunner as BaseRunner;
|
||||
use Symfony\Bridge\PhpUnit\SymfonyTestsListener;
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class CommandForV9 extends BaseCommand
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function createRunner(): BaseRunner
|
||||
{
|
||||
$this->arguments['listeners'] = isset($this->arguments['listeners']) ? $this->arguments['listeners'] : [];
|
||||
|
||||
$registeredLocally = false;
|
||||
|
||||
foreach ($this->arguments['listeners'] as $registeredListener) {
|
||||
if ($registeredListener instanceof SymfonyTestsListener) {
|
||||
$registeredListener->globalListenerDisabled();
|
||||
$registeredLocally = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($this->arguments['configuration'])) {
|
||||
$configuration = $this->arguments['configuration'];
|
||||
if (!$configuration instanceof Configuration) {
|
||||
$configuration = Registry::getInstance()->get($this->arguments['configuration']);
|
||||
}
|
||||
foreach ($configuration->listeners() as $registeredListener) {
|
||||
if ('Symfony\Bridge\PhpUnit\SymfonyTestsListener' === ltrim($registeredListener->className(), '\\')) {
|
||||
$registeredLocally = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!$registeredLocally) {
|
||||
$this->arguments['listeners'][] = new SymfonyTestsListener();
|
||||
}
|
||||
|
||||
return parent::createRunner();
|
||||
}
|
||||
}
|
@ -13,8 +13,10 @@ namespace Symfony\Bridge\PhpUnit\TextUI;
|
||||
|
||||
if (version_compare(\PHPUnit\Runner\Version::id(), '6.0.0', '<')) {
|
||||
class_alias('Symfony\Bridge\PhpUnit\Legacy\CommandForV5', 'Symfony\Bridge\PhpUnit\TextUI\Command');
|
||||
} else {
|
||||
} elseif (version_compare(\PHPUnit\Runner\Version::id(), '9.0.0', '<')) {
|
||||
class_alias('Symfony\Bridge\PhpUnit\Legacy\CommandForV6', 'Symfony\Bridge\PhpUnit\TextUI\Command');
|
||||
} else {
|
||||
class_alias('Symfony\Bridge\PhpUnit\Legacy\CommandForV9', 'Symfony\Bridge\PhpUnit\TextUI\Command');
|
||||
}
|
||||
|
||||
if (false) {
|
||||
|
Reference in New Issue
Block a user