[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', '<')) {
|
if (version_compare(\PHPUnit\Runner\Version::id(), '6.0.0', '<')) {
|
||||||
class_alias('Symfony\Bridge\PhpUnit\Legacy\CommandForV5', 'Symfony\Bridge\PhpUnit\TextUI\Command');
|
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');
|
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) {
|
if (false) {
|
||||||
|
Reference in New Issue
Block a user