diff --git a/.travis.yml b/.travis.yml index 373a61f732..7cd8d6a070 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,7 +29,6 @@ matrix: env: deps=high - php: 7.3 env: deps=low - fast_finish: true cache: @@ -163,7 +162,7 @@ before_install: tfold ext.libsodium tpecl libsodium sodium.so $INI fi - tfold ext.apcu tpecl apcu-5.1.16 apcu.so $INI + tfold ext.apcu tpecl apcu-5.1.17 apcu.so $INI tfold ext.mongodb tpecl mongodb-1.6.0alpha1 mongodb.so $INI tfold ext.igbinary tpecl igbinary-2.0.8 igbinary.so $INI tfold ext.zookeeper tpecl zookeeper-0.7.1 zookeeper.so $INI diff --git a/phpunit b/phpunit index 6d5bdc279b..f2718fadcf 100755 --- a/phpunit +++ b/phpunit @@ -7,8 +7,12 @@ if (!file_exists(__DIR__.'/vendor/symfony/phpunit-bridge/bin/simple-phpunit')) { echo "Unable to find the `simple-phpunit` script in `vendor/symfony/phpunit-bridge/bin/`.\nPlease run `composer update` before running this command.\n"; exit(1); } -if (\PHP_VERSION_ID >= 70000 && !getenv('SYMFONY_PHPUNIT_VERSION')) { - putenv('SYMFONY_PHPUNIT_VERSION=6.5'); +if (!getenv('SYMFONY_PHPUNIT_VERSION')) { + if (\PHP_VERSION_ID >= 70400) { + putenv('SYMFONY_PHPUNIT_VERSION=8.2'); + } elseif (\PHP_VERSION_ID >= 70000) { + putenv('SYMFONY_PHPUNIT_VERSION=6.5'); + } } putenv('SYMFONY_PHPUNIT_DIR='.__DIR__.'/.phpunit'); require __DIR__.'/vendor/symfony/phpunit-bridge/bin/simple-phpunit'; diff --git a/src/Symfony/Bridge/Doctrine/Tests/ContainerAwareEventManagerTest.php b/src/Symfony/Bridge/Doctrine/Tests/ContainerAwareEventManagerTest.php index b3fb8bc3ac..060a8b6af7 100644 --- a/src/Symfony/Bridge/Doctrine/Tests/ContainerAwareEventManagerTest.php +++ b/src/Symfony/Bridge/Doctrine/Tests/ContainerAwareEventManagerTest.php @@ -13,14 +13,17 @@ namespace Symfony\Bridge\Doctrine\Tests; use PHPUnit\Framework\TestCase; use Symfony\Bridge\Doctrine\ContainerAwareEventManager; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\DependencyInjection\Container; class ContainerAwareEventManagerTest extends TestCase { + use ForwardCompatTestTrait; + private $container; private $evm; - protected function setUp() + private function doSetUp() { $this->container = new Container(); $this->evm = new ContainerAwareEventManager($this->container); diff --git a/src/Symfony/Bridge/Doctrine/Tests/DependencyInjection/DoctrineExtensionTest.php b/src/Symfony/Bridge/Doctrine/Tests/DependencyInjection/DoctrineExtensionTest.php index 7e1cef511f..d13aa4d0c4 100644 --- a/src/Symfony/Bridge/Doctrine/Tests/DependencyInjection/DoctrineExtensionTest.php +++ b/src/Symfony/Bridge/Doctrine/Tests/DependencyInjection/DoctrineExtensionTest.php @@ -12,6 +12,7 @@ namespace Symfony\Bridge\Doctrine\Tests\DependencyInjection; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; @@ -21,12 +22,14 @@ use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; */ class DoctrineExtensionTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var \Symfony\Bridge\Doctrine\DependencyInjection\AbstractDoctrineExtension */ private $extension; - protected function setUp() + private function doSetUp() { parent::setUp(); diff --git a/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php b/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php index 3aeff05a83..ee22d9791f 100644 --- a/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php +++ b/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php @@ -18,6 +18,7 @@ use PHPUnit\Framework\TestCase; use Symfony\Bridge\Doctrine\Form\ChoiceList\DoctrineChoiceLoader; use Symfony\Bridge\Doctrine\Form\ChoiceList\EntityLoaderInterface; use Symfony\Bridge\Doctrine\Form\ChoiceList\IdReader; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\ChoiceList\ArrayChoiceList; use Symfony\Component\Form\ChoiceList\Factory\ChoiceListFactoryInterface; @@ -26,6 +27,8 @@ use Symfony\Component\Form\ChoiceList\Factory\ChoiceListFactoryInterface; */ class DoctrineChoiceLoaderTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var ChoiceListFactoryInterface|\PHPUnit_Framework_MockObject_MockObject */ @@ -71,7 +74,7 @@ class DoctrineChoiceLoaderTest extends TestCase */ private $obj3; - protected function setUp() + private function doSetUp() { $this->factory = $this->getMockBuilder('Symfony\Component\Form\ChoiceList\Factory\ChoiceListFactoryInterface')->getMock(); $this->om = $this->getMockBuilder('Doctrine\Common\Persistence\ObjectManager')->getMock(); diff --git a/src/Symfony/Bridge/Doctrine/Tests/Form/DataTransformer/CollectionToArrayTransformerTest.php b/src/Symfony/Bridge/Doctrine/Tests/Form/DataTransformer/CollectionToArrayTransformerTest.php index e6e85f4d3f..113e07e295 100644 --- a/src/Symfony/Bridge/Doctrine/Tests/Form/DataTransformer/CollectionToArrayTransformerTest.php +++ b/src/Symfony/Bridge/Doctrine/Tests/Form/DataTransformer/CollectionToArrayTransformerTest.php @@ -14,18 +14,21 @@ namespace Symfony\Bridge\Doctrine\Tests\Form\DataTransformer; use Doctrine\Common\Collections\ArrayCollection; use PHPUnit\Framework\TestCase; use Symfony\Bridge\Doctrine\Form\DataTransformer\CollectionToArrayTransformer; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; /** * @author Bernhard Schussek */ class CollectionToArrayTransformerTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var CollectionToArrayTransformer */ private $transformer; - protected function setUp() + private function doSetUp() { $this->transformer = new CollectionToArrayTransformer(); } diff --git a/src/Symfony/Bridge/Doctrine/Tests/Form/EventListener/MergeDoctrineCollectionListenerTest.php b/src/Symfony/Bridge/Doctrine/Tests/Form/EventListener/MergeDoctrineCollectionListenerTest.php index 757cdc3934..9d9e6b7ecf 100644 --- a/src/Symfony/Bridge/Doctrine/Tests/Form/EventListener/MergeDoctrineCollectionListenerTest.php +++ b/src/Symfony/Bridge/Doctrine/Tests/Form/EventListener/MergeDoctrineCollectionListenerTest.php @@ -14,6 +14,7 @@ namespace Symfony\Bridge\Doctrine\Tests\Form\EventListener; use Doctrine\Common\Collections\ArrayCollection; use PHPUnit\Framework\TestCase; use Symfony\Bridge\Doctrine\Form\EventListener\MergeDoctrineCollectionListener; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\Form\FormBuilder; use Symfony\Component\Form\FormEvent; @@ -21,6 +22,8 @@ use Symfony\Component\Form\FormEvents; class MergeDoctrineCollectionListenerTest extends TestCase { + use ForwardCompatTestTrait; + /** @var \Doctrine\Common\Collections\ArrayCollection */ private $collection; /** @var \Symfony\Component\EventDispatcher\EventDispatcher */ @@ -28,7 +31,7 @@ class MergeDoctrineCollectionListenerTest extends TestCase private $factory; private $form; - protected function setUp() + private function doSetUp() { $this->collection = new ArrayCollection(['test']); $this->dispatcher = new EventDispatcher(); @@ -37,7 +40,7 @@ class MergeDoctrineCollectionListenerTest extends TestCase ->getForm(); } - protected function tearDown() + private function doTearDown() { $this->collection = null; $this->dispatcher = null; diff --git a/src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypePerformanceTest.php b/src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypePerformanceTest.php index 5dc184fb91..225a1ade00 100644 --- a/src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypePerformanceTest.php +++ b/src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypePerformanceTest.php @@ -15,6 +15,7 @@ use Doctrine\ORM\Tools\SchemaTool; use Symfony\Bridge\Doctrine\Form\DoctrineOrmExtension; use Symfony\Bridge\Doctrine\Test\DoctrineTestHelper; use Symfony\Bridge\Doctrine\Tests\Fixtures\SingleIntIdEntity; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\Extension\Core\CoreExtension; use Symfony\Component\Form\Test\FormPerformanceTestCase; @@ -23,6 +24,8 @@ use Symfony\Component\Form\Test\FormPerformanceTestCase; */ class EntityTypePerformanceTest extends FormPerformanceTestCase { + use ForwardCompatTestTrait; + const ENTITY_CLASS = 'Symfony\Bridge\Doctrine\Tests\Fixtures\SingleIntIdEntity'; /** @@ -50,7 +53,7 @@ class EntityTypePerformanceTest extends FormPerformanceTestCase ]; } - protected function setUp() + private function doSetUp() { $this->em = DoctrineTestHelper::createTestEntityManager(); diff --git a/src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php b/src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php index 90906ef6e0..a24f0a2481 100644 --- a/src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php +++ b/src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php @@ -28,6 +28,7 @@ use Symfony\Bridge\Doctrine\Tests\Fixtures\SingleIntIdEntity; use Symfony\Bridge\Doctrine\Tests\Fixtures\SingleIntIdNoToStringEntity; use Symfony\Bridge\Doctrine\Tests\Fixtures\SingleStringCastableIdEntity; use Symfony\Bridge\Doctrine\Tests\Fixtures\SingleStringIdEntity; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\ChoiceList\View\ChoiceGroupView; use Symfony\Component\Form\ChoiceList\View\ChoiceView; use Symfony\Component\Form\Forms; @@ -36,6 +37,8 @@ use Symfony\Component\Form\Tests\Extension\Core\Type\FormTypeTest; class EntityTypeTest extends BaseTypeTest { + use ForwardCompatTestTrait; + const TESTED_TYPE = 'Symfony\Bridge\Doctrine\Form\Type\EntityType'; const ITEM_GROUP_CLASS = 'Symfony\Bridge\Doctrine\Tests\Fixtures\GroupableEntity'; @@ -59,7 +62,7 @@ class EntityTypeTest extends BaseTypeTest protected static $supportedFeatureSetVersion = 304; - protected function setUp() + private function doSetUp() { $this->em = DoctrineTestHelper::createTestEntityManager(); $this->emRegistry = $this->createRegistryMock('default', $this->em); @@ -89,7 +92,7 @@ class EntityTypeTest extends BaseTypeTest } } - protected function tearDown() + private function doTearDown() { parent::tearDown(); diff --git a/src/Symfony/Bridge/Doctrine/Tests/ManagerRegistryTest.php b/src/Symfony/Bridge/Doctrine/Tests/ManagerRegistryTest.php index e5ebeeacf8..d909292d49 100644 --- a/src/Symfony/Bridge/Doctrine/Tests/ManagerRegistryTest.php +++ b/src/Symfony/Bridge/Doctrine/Tests/ManagerRegistryTest.php @@ -13,11 +13,14 @@ namespace Symfony\Bridge\Doctrine\Tests; use PHPUnit\Framework\TestCase; use Symfony\Bridge\Doctrine\ManagerRegistry; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bridge\ProxyManager\Tests\LazyProxy\Dumper\PhpDumperTest; class ManagerRegistryTest extends TestCase { - public static function setUpBeforeClass() + use ForwardCompatTestTrait; + + private static function doSetUpBeforeClass() { if (!class_exists('PHPUnit_Framework_TestCase')) { self::markTestSkipped('proxy-manager-bridge is not yet compatible with namespaced phpunit versions.'); diff --git a/src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/UniqueEntityValidatorTest.php b/src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/UniqueEntityValidatorTest.php index 24a7f555f4..e5eaf0138e 100644 --- a/src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/UniqueEntityValidatorTest.php +++ b/src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/UniqueEntityValidatorTest.php @@ -32,6 +32,7 @@ use Symfony\Bridge\Doctrine\Tests\Fixtures\SingleIntIdStringWrapperNameEntity; use Symfony\Bridge\Doctrine\Tests\Fixtures\Type\StringWrapper; use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntityValidator; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Validator\Test\ConstraintValidatorTestCase; /** @@ -39,6 +40,8 @@ use Symfony\Component\Validator\Test\ConstraintValidatorTestCase; */ class UniqueEntityValidatorTest extends ConstraintValidatorTestCase { + use ForwardCompatTestTrait; + const EM_NAME = 'foo'; /** @@ -58,7 +61,7 @@ class UniqueEntityValidatorTest extends ConstraintValidatorTestCase protected $repositoryFactory; - protected function setUp() + private function doSetUp() { $this->repositoryFactory = new TestRepositoryFactory(); diff --git a/src/Symfony/Bridge/PhpUnit/Tests/ClockMockTest.php b/src/Symfony/Bridge/PhpUnit/Tests/ClockMockTest.php index 5b92ccd850..d438ee1aa8 100644 --- a/src/Symfony/Bridge/PhpUnit/Tests/ClockMockTest.php +++ b/src/Symfony/Bridge/PhpUnit/Tests/ClockMockTest.php @@ -13,6 +13,7 @@ namespace Symfony\Bridge\PhpUnit\Tests; use PHPUnit\Framework\TestCase; use Symfony\Bridge\PhpUnit\ClockMock; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; /** * @author Dominic Tubach @@ -21,12 +22,14 @@ use Symfony\Bridge\PhpUnit\ClockMock; */ class ClockMockTest extends TestCase { - public static function setUpBeforeClass() + use ForwardCompatTestTrait; + + private static function doSetUpBeforeClass() { ClockMock::register(__CLASS__); } - protected function setUp() + private function doSetUp() { ClockMock::withClockMock(1234567890.125); } diff --git a/src/Symfony/Bridge/PhpUnit/Tests/DnsMockTest.php b/src/Symfony/Bridge/PhpUnit/Tests/DnsMockTest.php index a178ac7e89..4ef2d75b80 100644 --- a/src/Symfony/Bridge/PhpUnit/Tests/DnsMockTest.php +++ b/src/Symfony/Bridge/PhpUnit/Tests/DnsMockTest.php @@ -13,10 +13,13 @@ namespace Symfony\Bridge\PhpUnit\Tests; use PHPUnit\Framework\TestCase; use Symfony\Bridge\PhpUnit\DnsMock; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; class DnsMockTest extends TestCase { - protected function tearDown() + use ForwardCompatTestTrait; + + private function doTearDown() { DnsMock::withMockedHosts(array()); } diff --git a/src/Symfony/Bridge/ProxyManager/Tests/LazyProxy/Instantiator/RuntimeInstantiatorTest.php b/src/Symfony/Bridge/ProxyManager/Tests/LazyProxy/Instantiator/RuntimeInstantiatorTest.php index e58b7d6356..9ea6791fd3 100644 --- a/src/Symfony/Bridge/ProxyManager/Tests/LazyProxy/Instantiator/RuntimeInstantiatorTest.php +++ b/src/Symfony/Bridge/ProxyManager/Tests/LazyProxy/Instantiator/RuntimeInstantiatorTest.php @@ -12,6 +12,7 @@ namespace Symfony\Bridge\ProxyManager\Tests\LazyProxy\Instantiator; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bridge\ProxyManager\LazyProxy\Instantiator\RuntimeInstantiator; use Symfony\Component\DependencyInjection\Definition; @@ -22,6 +23,8 @@ use Symfony\Component\DependencyInjection\Definition; */ class RuntimeInstantiatorTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var RuntimeInstantiator */ @@ -30,7 +33,7 @@ class RuntimeInstantiatorTest extends TestCase /** * {@inheritdoc} */ - protected function setUp() + private function doSetUp() { $this->instantiator = new RuntimeInstantiator(); } diff --git a/src/Symfony/Bridge/ProxyManager/Tests/LazyProxy/PhpDumper/ProxyDumperTest.php b/src/Symfony/Bridge/ProxyManager/Tests/LazyProxy/PhpDumper/ProxyDumperTest.php index 5704f57e36..b1cfdaf6a4 100644 --- a/src/Symfony/Bridge/ProxyManager/Tests/LazyProxy/PhpDumper/ProxyDumperTest.php +++ b/src/Symfony/Bridge/ProxyManager/Tests/LazyProxy/PhpDumper/ProxyDumperTest.php @@ -12,6 +12,7 @@ namespace Symfony\Bridge\ProxyManager\Tests\LazyProxy\PhpDumper; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bridge\ProxyManager\LazyProxy\PhpDumper\ProxyDumper; use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\LazyProxy\PhpDumper\DumperInterface; @@ -23,6 +24,8 @@ use Symfony\Component\DependencyInjection\LazyProxy\PhpDumper\DumperInterface; */ class ProxyDumperTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var ProxyDumper */ @@ -31,7 +34,7 @@ class ProxyDumperTest extends TestCase /** * {@inheritdoc} */ - protected function setUp() + private function doSetUp() { $this->dumper = new ProxyDumper(); } diff --git a/src/Symfony/Bridge/Twig/Tests/AppVariableTest.php b/src/Symfony/Bridge/Twig/Tests/AppVariableTest.php index b6699e5cdc..7fde1bf95f 100644 --- a/src/Symfony/Bridge/Twig/Tests/AppVariableTest.php +++ b/src/Symfony/Bridge/Twig/Tests/AppVariableTest.php @@ -3,6 +3,7 @@ namespace Symfony\Bridge\Twig\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bridge\Twig\AppVariable; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Session\Flash\FlashBag; @@ -10,12 +11,14 @@ use Symfony\Component\HttpFoundation\Session\Session; class AppVariableTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var AppVariable */ protected $appVariable; - protected function setUp() + private function doSetUp() { $this->appVariable = new AppVariable(); } diff --git a/src/Symfony/Bridge/Twig/Tests/Command/LintCommandTest.php b/src/Symfony/Bridge/Twig/Tests/Command/LintCommandTest.php index 82b71eed87..fc1d248026 100644 --- a/src/Symfony/Bridge/Twig/Tests/Command/LintCommandTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Command/LintCommandTest.php @@ -12,6 +12,7 @@ namespace Symfony\Bridge\Twig\Tests\Command; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bridge\Twig\Command\LintCommand; use Symfony\Component\Console\Application; use Symfony\Component\Console\Output\OutputInterface; @@ -21,6 +22,8 @@ use Twig\Loader\FilesystemLoader; class LintCommandTest extends TestCase { + use ForwardCompatTestTrait; + private $files; public function testLintCorrectFile() @@ -95,12 +98,12 @@ class LintCommandTest extends TestCase return $filename; } - protected function setUp() + private function doSetUp() { $this->files = []; } - protected function tearDown() + private function doTearDown() { foreach ($this->files as $file) { if (file_exists($file)) { diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3HorizontalLayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3HorizontalLayoutTest.php index 43946ab828..7cf18a07a8 100644 --- a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3HorizontalLayoutTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3HorizontalLayoutTest.php @@ -11,6 +11,7 @@ namespace Symfony\Bridge\Twig\Tests\Extension; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bridge\Twig\Extension\FormExtension; use Symfony\Bridge\Twig\Extension\TranslationExtension; use Symfony\Bridge\Twig\Form\TwigRendererEngine; @@ -22,6 +23,8 @@ use Twig\Loader\FilesystemLoader; class FormExtensionBootstrap3HorizontalLayoutTest extends AbstractBootstrap3HorizontalLayoutTest { + use ForwardCompatTestTrait; + use RuntimeLoaderProvider; protected $testableFeatures = [ @@ -33,7 +36,7 @@ class FormExtensionBootstrap3HorizontalLayoutTest extends AbstractBootstrap3Hori */ private $renderer; - protected function setUp() + private function doSetUp() { parent::setUp(); diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3LayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3LayoutTest.php index ae42b16b0b..099eb150d2 100644 --- a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3LayoutTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3LayoutTest.php @@ -11,6 +11,7 @@ namespace Symfony\Bridge\Twig\Tests\Extension; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bridge\Twig\Extension\FormExtension; use Symfony\Bridge\Twig\Extension\TranslationExtension; use Symfony\Bridge\Twig\Form\TwigRendererEngine; @@ -22,6 +23,7 @@ use Twig\Loader\FilesystemLoader; class FormExtensionBootstrap3LayoutTest extends AbstractBootstrap3LayoutTest { + use ForwardCompatTestTrait; use RuntimeLoaderProvider; /** @@ -29,7 +31,7 @@ class FormExtensionBootstrap3LayoutTest extends AbstractBootstrap3LayoutTest */ private $renderer; - protected function setUp() + private function doSetUp() { parent::setUp(); diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4HorizontalLayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4HorizontalLayoutTest.php index 2f6dd333c8..90a67be95a 100644 --- a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4HorizontalLayoutTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4HorizontalLayoutTest.php @@ -11,6 +11,7 @@ namespace Symfony\Bridge\Twig\Tests\Extension; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bridge\Twig\Extension\FormExtension; use Symfony\Bridge\Twig\Extension\TranslationExtension; use Symfony\Bridge\Twig\Form\TwigRendererEngine; @@ -27,6 +28,7 @@ use Twig\Loader\FilesystemLoader; */ class FormExtensionBootstrap4HorizontalLayoutTest extends AbstractBootstrap4HorizontalLayoutTest { + use ForwardCompatTestTrait; use RuntimeLoaderProvider; protected $testableFeatures = [ @@ -35,7 +37,7 @@ class FormExtensionBootstrap4HorizontalLayoutTest extends AbstractBootstrap4Hori private $renderer; - protected function setUp() + private function doSetUp() { parent::setUp(); diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4LayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4LayoutTest.php index 4331a3d945..b839d40a50 100644 --- a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4LayoutTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4LayoutTest.php @@ -11,6 +11,7 @@ namespace Symfony\Bridge\Twig\Tests\Extension; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bridge\Twig\Extension\FormExtension; use Symfony\Bridge\Twig\Extension\TranslationExtension; use Symfony\Bridge\Twig\Form\TwigRendererEngine; @@ -27,13 +28,14 @@ use Twig\Loader\FilesystemLoader; */ class FormExtensionBootstrap4LayoutTest extends AbstractBootstrap4LayoutTest { + use ForwardCompatTestTrait; use RuntimeLoaderProvider; /** * @var FormRenderer */ private $renderer; - protected function setUp() + private function doSetUp() { parent::setUp(); diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionDivLayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionDivLayoutTest.php index 67ab832c59..061d1c39fa 100644 --- a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionDivLayoutTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionDivLayoutTest.php @@ -11,6 +11,7 @@ namespace Symfony\Bridge\Twig\Tests\Extension; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bridge\Twig\Extension\FormExtension; use Symfony\Bridge\Twig\Extension\TranslationExtension; use Symfony\Bridge\Twig\Form\TwigRendererEngine; @@ -24,6 +25,7 @@ use Twig\Loader\FilesystemLoader; class FormExtensionDivLayoutTest extends AbstractDivLayoutTest { + use ForwardCompatTestTrait; use RuntimeLoaderProvider; /** @@ -33,7 +35,7 @@ class FormExtensionDivLayoutTest extends AbstractDivLayoutTest protected static $supportedFeatureSetVersion = 404; - protected function setUp() + private function doSetUp() { parent::setUp(); diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionTableLayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionTableLayoutTest.php index c858d5bfa7..db144aa14b 100644 --- a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionTableLayoutTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionTableLayoutTest.php @@ -11,6 +11,7 @@ namespace Symfony\Bridge\Twig\Tests\Extension; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bridge\Twig\Extension\FormExtension; use Symfony\Bridge\Twig\Extension\TranslationExtension; use Symfony\Bridge\Twig\Form\TwigRendererEngine; @@ -23,6 +24,7 @@ use Twig\Loader\FilesystemLoader; class FormExtensionTableLayoutTest extends AbstractTableLayoutTest { + use ForwardCompatTestTrait; use RuntimeLoaderProvider; /** @@ -32,7 +34,7 @@ class FormExtensionTableLayoutTest extends AbstractTableLayoutTest protected static $supportedFeatureSetVersion = 404; - protected function setUp() + private function doSetUp() { parent::setUp(); diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/WebLinkExtensionTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/WebLinkExtensionTest.php index f49eea396d..e9a4ce1667 100644 --- a/src/Symfony/Bridge/Twig/Tests/Extension/WebLinkExtensionTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Extension/WebLinkExtensionTest.php @@ -13,6 +13,7 @@ namespace Symfony\Bridge\Twig\Tests\Extension; use Fig\Link\Link; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bridge\Twig\Extension\WebLinkExtension; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\RequestStack; @@ -22,6 +23,8 @@ use Symfony\Component\HttpFoundation\RequestStack; */ class WebLinkExtensionTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var Request */ @@ -32,7 +35,7 @@ class WebLinkExtensionTest extends TestCase */ private $extension; - protected function setUp() + private function doSetUp() { $this->request = new Request(); diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/WorkflowExtensionTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/WorkflowExtensionTest.php index 3e948bae3f..3cfbab78a3 100644 --- a/src/Symfony/Bridge/Twig/Tests/Extension/WorkflowExtensionTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Extension/WorkflowExtensionTest.php @@ -12,6 +12,7 @@ namespace Symfony\Bridge\Twig\Tests\Extension; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bridge\Twig\Extension\WorkflowExtension; use Symfony\Component\Workflow\Definition; use Symfony\Component\Workflow\MarkingStore\MethodMarkingStore; @@ -25,10 +26,12 @@ use Symfony\Component\Workflow\Workflow; class WorkflowExtensionTest extends TestCase { + use ForwardCompatTestTrait; + private $extension; private $t1; - protected function setUp() + private function doSetUp() { if (!class_exists(Workflow::class)) { $this->markTestSkipped('The Workflow component is needed to run tests for this extension.'); diff --git a/src/Symfony/Bundle/FrameworkBundle/Test/ForwardCompatTestTrait.php b/src/Symfony/Bundle/FrameworkBundle/Test/ForwardCompatTestTrait.php new file mode 100644 index 0000000000..6fb7479e2c --- /dev/null +++ b/src/Symfony/Bundle/FrameworkBundle/Test/ForwardCompatTestTrait.php @@ -0,0 +1,82 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Bundle\FrameworkBundle\Test; + +use PHPUnit\Framework\TestCase; + +// Auto-adapt to PHPUnit 8 that added a `void` return-type to the setUp/tearDown methods + +if (method_exists(\ReflectionMethod::class, 'hasReturnType') && (new \ReflectionMethod(TestCase::class, 'tearDown'))->hasReturnType()) { + eval(' + namespace Symfony\Bundle\FrameworkBundle\Test; + + /** + * @internal + */ + trait ForwardCompatTestTrait + { + private function doSetUp(): void + { + } + + private function doTearDown(): void + { + } + + protected function setUp(): void + { + $this->doSetUp(); + } + + protected function tearDown(): void + { + $this->doTearDown(); + } + } +'); +} else { + /** + * @internal + */ + trait ForwardCompatTestTrait + { + /** + * @return void + */ + private function doSetUp() + { + } + + /** + * @return void + */ + private function doTearDown() + { + } + + /** + * @return void + */ + protected function setUp() + { + $this->doSetUp(); + } + + /** + * @return void + */ + protected function tearDown() + { + $this->doTearDown(); + } + } +} diff --git a/src/Symfony/Bundle/FrameworkBundle/Test/KernelTestCase.php b/src/Symfony/Bundle/FrameworkBundle/Test/KernelTestCase.php index b27778a01a..02806ad6a9 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Test/KernelTestCase.php +++ b/src/Symfony/Bundle/FrameworkBundle/Test/KernelTestCase.php @@ -23,7 +23,7 @@ use Symfony\Contracts\Service\ResetInterface; */ abstract class KernelTestCase extends TestCase { - use TestCaseSetUpTearDownTrait; + use ForwardCompatTestTrait; protected static $class; @@ -39,7 +39,7 @@ abstract class KernelTestCase extends TestCase protected static $booted; - protected function doTearDown(): void + private function doTearDown() { static::ensureKernelShutdown(); } diff --git a/src/Symfony/Bundle/FrameworkBundle/Test/WebTestCase.php b/src/Symfony/Bundle/FrameworkBundle/Test/WebTestCase.php index 53ae228f01..cace599deb 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Test/WebTestCase.php +++ b/src/Symfony/Bundle/FrameworkBundle/Test/WebTestCase.php @@ -21,11 +21,12 @@ use Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException; */ abstract class WebTestCase extends KernelTestCase { + use ForwardCompatTestTrait; use WebTestAssertionsTrait; - protected function doTearDown(): void + private function doTearDown() { - parent::doTearDown(); + parent::tearDown(); self::getClient(null); } diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/CacheWarmer/AnnotationsCacheWarmerTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/CacheWarmer/AnnotationsCacheWarmerTest.php index 6ad71ab459..083b0828b2 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/CacheWarmer/AnnotationsCacheWarmerTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/CacheWarmer/AnnotationsCacheWarmerTest.php @@ -5,6 +5,7 @@ namespace Symfony\Bundle\FrameworkBundle\Tests\CacheWarmer; use Doctrine\Common\Annotations\AnnotationReader; use Doctrine\Common\Annotations\CachedReader; use Doctrine\Common\Annotations\Reader; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bundle\FrameworkBundle\CacheWarmer\AnnotationsCacheWarmer; use Symfony\Bundle\FrameworkBundle\Tests\TestCase; use Symfony\Component\Cache\Adapter\NullAdapter; @@ -14,9 +15,11 @@ use Symfony\Component\Filesystem\Filesystem; class AnnotationsCacheWarmerTest extends TestCase { + use ForwardCompatTestTrait; + private $cacheDir; - protected function setUp() + private function doSetUp() { $this->cacheDir = sys_get_temp_dir().'/'.uniqid(); $fs = new Filesystem(); @@ -24,7 +27,7 @@ class AnnotationsCacheWarmerTest extends TestCase parent::setUp(); } - protected function tearDown() + private function doTearDown() { $fs = new Filesystem(); $fs->remove($this->cacheDir); diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Command/CacheClearCommand/CacheClearCommandTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Command/CacheClearCommand/CacheClearCommandTest.php index 9e4c46d585..8f375b6d7e 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/Command/CacheClearCommand/CacheClearCommandTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Command/CacheClearCommand/CacheClearCommandTest.php @@ -11,6 +11,7 @@ namespace Symfony\Bundle\FrameworkBundle\Tests\Command\CacheClearCommand; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bundle\FrameworkBundle\Console\Application; use Symfony\Bundle\FrameworkBundle\Tests\Command\CacheClearCommand\Fixture\TestAppKernel; use Symfony\Bundle\FrameworkBundle\Tests\TestCase; @@ -23,19 +24,21 @@ use Symfony\Component\Finder\Finder; class CacheClearCommandTest extends TestCase { + use ForwardCompatTestTrait; + /** @var TestAppKernel */ private $kernel; /** @var Filesystem */ private $fs; - protected function setUp() + private function doSetUp() { $this->fs = new Filesystem(); $this->kernel = new TestAppKernel('test', true); $this->fs->mkdir($this->kernel->getProjectDir()); } - protected function tearDown() + private function doTearDown() { $this->fs->remove($this->kernel->getProjectDir()); } diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Command/TranslationDebugCommandTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Command/TranslationDebugCommandTest.php index 20abc37ff3..0d5073d1af 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/Command/TranslationDebugCommandTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Command/TranslationDebugCommandTest.php @@ -12,6 +12,7 @@ namespace Symfony\Bundle\FrameworkBundle\Tests\Command; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bundle\FrameworkBundle\Command\TranslationDebugCommand; use Symfony\Bundle\FrameworkBundle\Console\Application; use Symfony\Component\Console\Tester\CommandTester; @@ -20,6 +21,8 @@ use Symfony\Component\Filesystem\Filesystem; class TranslationDebugCommandTest extends TestCase { + use ForwardCompatTestTrait; + private $fs; private $translationDir; @@ -111,7 +114,7 @@ class TranslationDebugCommandTest extends TestCase $tester->execute(['locale' => 'en', 'bundle' => 'dir']); } - protected function setUp() + private function doSetUp() { $this->fs = new Filesystem(); $this->translationDir = sys_get_temp_dir().'/'.uniqid('sf_translation', true); @@ -119,7 +122,7 @@ class TranslationDebugCommandTest extends TestCase $this->fs->mkdir($this->translationDir.'/templates'); } - protected function tearDown() + private function doTearDown() { $this->fs->remove($this->translationDir); } diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Command/TranslationUpdateCommandTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Command/TranslationUpdateCommandTest.php index ccbe99359f..70c14c24bc 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/Command/TranslationUpdateCommandTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Command/TranslationUpdateCommandTest.php @@ -12,6 +12,7 @@ namespace Symfony\Bundle\FrameworkBundle\Tests\Command; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bundle\FrameworkBundle\Command\TranslationUpdateCommand; use Symfony\Bundle\FrameworkBundle\Console\Application; use Symfony\Component\Console\Tester\CommandTester; @@ -21,6 +22,8 @@ use Symfony\Component\HttpKernel; class TranslationUpdateCommandTest extends TestCase { + use ForwardCompatTestTrait; + private $fs; private $translationDir; @@ -88,7 +91,7 @@ class TranslationUpdateCommandTest extends TestCase $this->assertRegExp('/Translation files were successfully updated./', $tester->getDisplay()); } - protected function setUp() + private function doSetUp() { $this->fs = new Filesystem(); $this->translationDir = sys_get_temp_dir().'/'.uniqid('sf_translation', true); @@ -96,7 +99,7 @@ class TranslationUpdateCommandTest extends TestCase $this->fs->mkdir($this->translationDir.'/templates'); } - protected function tearDown() + private function doTearDown() { $this->fs->remove($this->translationDir); } diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Command/YamlLintCommandTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Command/YamlLintCommandTest.php index a71fb824d5..6c3c0aa74a 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/Command/YamlLintCommandTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Command/YamlLintCommandTest.php @@ -12,6 +12,7 @@ namespace Symfony\Bundle\FrameworkBundle\Tests\Command; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bundle\FrameworkBundle\Command\YamlLintCommand; use Symfony\Bundle\FrameworkBundle\Console\Application; use Symfony\Component\Console\Application as BaseApplication; @@ -28,6 +29,8 @@ use Symfony\Component\HttpKernel\KernelInterface; */ class YamlLintCommandTest extends TestCase { + use ForwardCompatTestTrait; + private $files; public function testLintCorrectFile() @@ -183,13 +186,13 @@ EOF; return $application; } - protected function setUp() + private function doSetUp() { @mkdir(sys_get_temp_dir().'/yml-lint-test'); $this->files = []; } - protected function tearDown() + private function doTearDown() { foreach ($this->files as $file) { if (file_exists($file)) { diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/TextDescriptorTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/TextDescriptorTest.php index e775ac7cf1..1b9d91df1c 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/TextDescriptorTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/TextDescriptorTest.php @@ -11,16 +11,19 @@ namespace Symfony\Bundle\FrameworkBundle\Tests\Console\Descriptor; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bundle\FrameworkBundle\Console\Descriptor\TextDescriptor; class TextDescriptorTest extends AbstractDescriptorTest { - protected function setUp() + use ForwardCompatTestTrait; + + private function doSetUp() { putenv('COLUMNS=121'); } - protected function tearDown() + private function doTearDown() { putenv('COLUMNS'); } diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/DataCollectorTranslatorPassTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/DataCollectorTranslatorPassTest.php index 4496c7927e..a3eb45cb00 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/DataCollectorTranslatorPassTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/DataCollectorTranslatorPassTest.php @@ -12,6 +12,7 @@ namespace Symfony\Bundle\FrameworkBundle\Tests\DependencyInjection\Compiler; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\DataCollectorTranslatorPass; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Reference; @@ -19,10 +20,12 @@ use Symfony\Contracts\Translation\TranslatorInterface; class DataCollectorTranslatorPassTest extends TestCase { + use ForwardCompatTestTrait; + private $container; private $dataCollectorTranslatorPass; - protected function setUp() + private function doSetUp() { $this->container = new ContainerBuilder(); $this->dataCollectorTranslatorPass = new DataCollectorTranslatorPass(); diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/WorkflowGuardListenerPassTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/WorkflowGuardListenerPassTest.php index 44c87b188f..c20660820b 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/WorkflowGuardListenerPassTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/WorkflowGuardListenerPassTest.php @@ -12,6 +12,7 @@ namespace Symfony\Bundle\FrameworkBundle\Tests\DependencyInjection\Compiler; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\WorkflowGuardListenerPass; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\Security\Core\Authentication\AuthenticationTrustResolverInterface; @@ -22,10 +23,12 @@ use Symfony\Component\Validator\Validator\ValidatorInterface; class WorkflowGuardListenerPassTest extends TestCase { + use ForwardCompatTestTrait; + private $container; private $compilerPass; - protected function setUp() + private function doSetUp() { $this->container = new ContainerBuilder(); $this->compilerPass = new WorkflowGuardListenerPass(); diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/AbstractWebTestCase.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/AbstractWebTestCase.php index 03c6bdcbd7..c7c13eb05f 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/AbstractWebTestCase.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/AbstractWebTestCase.php @@ -11,23 +11,26 @@ namespace Symfony\Bundle\FrameworkBundle\Tests\Functional; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase as BaseWebTestCase; use Symfony\Component\Filesystem\Filesystem; abstract class AbstractWebTestCase extends BaseWebTestCase { + use ForwardCompatTestTrait; + public static function assertRedirect($response, $location) { self::assertTrue($response->isRedirect(), 'Response is not a redirect, got status code: '.$response->getStatusCode()); self::assertEquals('http://localhost'.$location, $response->headers->get('Location')); } - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { static::deleteTmpDir(); } - public static function tearDownAfterClass() + private static function doTearDownAfterClass() { static::deleteTmpDir(); } diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/CachePoolClearCommandTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/CachePoolClearCommandTest.php index ab3797d05d..e69275bdad 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/CachePoolClearCommandTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/CachePoolClearCommandTest.php @@ -11,6 +11,7 @@ namespace Symfony\Bundle\FrameworkBundle\Tests\Functional; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bundle\FrameworkBundle\Command\CachePoolClearCommand; use Symfony\Bundle\FrameworkBundle\Console\Application; use Symfony\Component\Console\Tester\CommandTester; @@ -20,7 +21,9 @@ use Symfony\Component\Console\Tester\CommandTester; */ class CachePoolClearCommandTest extends AbstractWebTestCase { - protected function setUp() + use ForwardCompatTestTrait; + + private function doSetUp() { static::bootKernel(['test_case' => 'CachePoolClear', 'root_config' => 'config.yml']); } diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ConfigDebugCommandTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ConfigDebugCommandTest.php index 290d9a85c1..6188d4a810 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ConfigDebugCommandTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ConfigDebugCommandTest.php @@ -11,6 +11,7 @@ namespace Symfony\Bundle\FrameworkBundle\Tests\Functional; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bundle\FrameworkBundle\Console\Application; use Symfony\Component\Console\Input\ArrayInput; use Symfony\Component\Console\Output\NullOutput; @@ -21,9 +22,11 @@ use Symfony\Component\Console\Tester\CommandTester; */ class ConfigDebugCommandTest extends AbstractWebTestCase { + use ForwardCompatTestTrait; + private $application; - protected function setUp() + private function doSetUp() { $kernel = static::createKernel(['test_case' => 'ConfigDump', 'root_config' => 'config.yml']); $this->application = new Application($kernel); diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ConfigDumpReferenceCommandTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ConfigDumpReferenceCommandTest.php index b8ac6645f6..f402af5c37 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ConfigDumpReferenceCommandTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ConfigDumpReferenceCommandTest.php @@ -11,6 +11,7 @@ namespace Symfony\Bundle\FrameworkBundle\Tests\Functional; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bundle\FrameworkBundle\Console\Application; use Symfony\Component\Console\Input\ArrayInput; use Symfony\Component\Console\Output\NullOutput; @@ -21,9 +22,11 @@ use Symfony\Component\Console\Tester\CommandTester; */ class ConfigDumpReferenceCommandTest extends AbstractWebTestCase { + use ForwardCompatTestTrait; + private $application; - protected function setUp() + private function doSetUp() { $kernel = static::createKernel(['test_case' => 'ConfigDump', 'root_config' => 'config.yml']); $this->application = new Application($kernel); diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php index 74b9979f46..6f478ef0d3 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php @@ -13,6 +13,7 @@ namespace Symfony\Bundle\FrameworkBundle\Tests\Translation; use PHPUnit\Framework\TestCase; use Psr\Container\ContainerInterface; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bundle\FrameworkBundle\Translation\Translator; use Symfony\Component\Config\Resource\DirectoryResource; use Symfony\Component\Config\Resource\FileExistenceResource; @@ -22,15 +23,17 @@ use Symfony\Component\Translation\MessageCatalogue; class TranslatorTest extends TestCase { + use ForwardCompatTestTrait; + protected $tmpDir; - protected function setUp() + private function doSetUp() { $this->tmpDir = sys_get_temp_dir().'/sf_translation'; $this->deleteTmpDir(); } - protected function tearDown() + private function doTearDown() { $this->deleteTmpDir(); } diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/Functional/AbstractWebTestCase.php b/src/Symfony/Bundle/SecurityBundle/Tests/Functional/AbstractWebTestCase.php index 678c937f7d..331790d833 100644 --- a/src/Symfony/Bundle/SecurityBundle/Tests/Functional/AbstractWebTestCase.php +++ b/src/Symfony/Bundle/SecurityBundle/Tests/Functional/AbstractWebTestCase.php @@ -11,23 +11,26 @@ namespace Symfony\Bundle\SecurityBundle\Tests\Functional; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase as BaseWebTestCase; use Symfony\Component\Filesystem\Filesystem; abstract class AbstractWebTestCase extends BaseWebTestCase { + use ForwardCompatTestTrait; + public static function assertRedirect($response, $location) { self::assertTrue($response->isRedirect(), 'Response is not a redirect, got status code: '.substr($response, 0, 2000)); self::assertEquals('http://localhost'.$location, $response->headers->get('Location')); } - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { static::deleteTmpDir(); } - public static function tearDownAfterClass() + private static function doTearDownAfterClass() { static::deleteTmpDir(); } diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/Functional/UserPasswordEncoderCommandTest.php b/src/Symfony/Bundle/SecurityBundle/Tests/Functional/UserPasswordEncoderCommandTest.php index b7c494d76b..0c757461bc 100644 --- a/src/Symfony/Bundle/SecurityBundle/Tests/Functional/UserPasswordEncoderCommandTest.php +++ b/src/Symfony/Bundle/SecurityBundle/Tests/Functional/UserPasswordEncoderCommandTest.php @@ -11,6 +11,7 @@ namespace Symfony\Bundle\SecurityBundle\Tests\Functional; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bundle\FrameworkBundle\Console\Application; use Symfony\Bundle\SecurityBundle\Command\UserPasswordEncoderCommand; use Symfony\Component\Console\Application as ConsoleApplication; @@ -27,6 +28,8 @@ use Symfony\Component\Security\Core\Encoder\SodiumPasswordEncoder; */ class UserPasswordEncoderCommandTest extends AbstractWebTestCase { + use ForwardCompatTestTrait; + /** @var CommandTester */ private $passwordEncoderCommandTester; @@ -226,7 +229,7 @@ EOTXT ], ['interactive' => false]); } - protected function setUp() + private function doSetUp() { putenv('COLUMNS='.(119 + \strlen(PHP_EOL))); $kernel = $this->createKernel(['test_case' => 'PasswordEncode']); @@ -239,7 +242,7 @@ EOTXT $this->passwordEncoderCommandTester = new CommandTester($passwordEncoderCommand); } - protected function tearDown() + private function doTearDown() { $this->passwordEncoderCommandTester = null; } diff --git a/src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/Compiler/TwigLoaderPassTest.php b/src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/Compiler/TwigLoaderPassTest.php index 3b65273d6d..a65aa03c57 100644 --- a/src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/Compiler/TwigLoaderPassTest.php +++ b/src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/Compiler/TwigLoaderPassTest.php @@ -12,12 +12,15 @@ namespace Symfony\Bundle\TwigBundle\Tests\DependencyInjection\Compiler; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bundle\TwigBundle\DependencyInjection\Compiler\TwigLoaderPass; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Definition; class TwigLoaderPassTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var ContainerBuilder */ @@ -31,7 +34,7 @@ class TwigLoaderPassTest extends TestCase */ private $pass; - protected function setUp() + private function doSetUp() { $this->builder = new ContainerBuilder(); $this->builder->register('twig'); diff --git a/src/Symfony/Bundle/TwigBundle/Tests/Functional/NoTemplatingEntryTest.php b/src/Symfony/Bundle/TwigBundle/Tests/Functional/NoTemplatingEntryTest.php index 9a45c25ba3..dac66fb2c4 100644 --- a/src/Symfony/Bundle/TwigBundle/Tests/Functional/NoTemplatingEntryTest.php +++ b/src/Symfony/Bundle/TwigBundle/Tests/Functional/NoTemplatingEntryTest.php @@ -11,6 +11,7 @@ namespace Symfony\Bundle\TwigBundle\Tests\Functional; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bundle\FrameworkBundle\FrameworkBundle; use Symfony\Bundle\TwigBundle\Tests\TestCase; use Symfony\Bundle\TwigBundle\TwigBundle; @@ -20,6 +21,8 @@ use Symfony\Component\HttpKernel\Kernel; class NoTemplatingEntryTest extends TestCase { + use ForwardCompatTestTrait; + public function test() { $kernel = new NoTemplatingEntryKernel('dev', true); @@ -30,12 +33,12 @@ class NoTemplatingEntryTest extends TestCase $this->assertContains('{ a: b }', $content); } - protected function setUp() + private function doSetUp() { $this->deleteTempDir(); } - protected function tearDown() + private function doTearDown() { $this->deleteTempDir(); } diff --git a/src/Symfony/Bundle/WebProfilerBundle/Tests/DependencyInjection/WebProfilerExtensionTest.php b/src/Symfony/Bundle/WebProfilerBundle/Tests/DependencyInjection/WebProfilerExtensionTest.php index c2ac0a75ef..01cf1ed56d 100644 --- a/src/Symfony/Bundle/WebProfilerBundle/Tests/DependencyInjection/WebProfilerExtensionTest.php +++ b/src/Symfony/Bundle/WebProfilerBundle/Tests/DependencyInjection/WebProfilerExtensionTest.php @@ -11,6 +11,7 @@ namespace Symfony\Bundle\WebProfilerBundle\Tests\DependencyInjection; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bundle\WebProfilerBundle\DependencyInjection\WebProfilerExtension; use Symfony\Bundle\WebProfilerBundle\Tests\TestCase; use Symfony\Component\DependencyInjection\Container; @@ -23,6 +24,8 @@ use Symfony\Component\EventDispatcher\EventDispatcher; class WebProfilerExtensionTest extends TestCase { + use ForwardCompatTestTrait; + private $kernel; /** * @var \Symfony\Component\DependencyInjection\Container @@ -47,7 +50,7 @@ class WebProfilerExtensionTest extends TestCase self::assertEquals([], $errors, $message); } - protected function setUp() + private function doSetUp() { parent::setUp(); @@ -75,7 +78,7 @@ class WebProfilerExtensionTest extends TestCase $this->container->addCompilerPass(new RegisterListenersPass()); } - protected function tearDown() + private function doTearDown() { parent::tearDown(); diff --git a/src/Symfony/Bundle/WebProfilerBundle/Tests/Profiler/TemplateManagerTest.php b/src/Symfony/Bundle/WebProfilerBundle/Tests/Profiler/TemplateManagerTest.php index b3e40bfb8e..4c68f479b2 100644 --- a/src/Symfony/Bundle/WebProfilerBundle/Tests/Profiler/TemplateManagerTest.php +++ b/src/Symfony/Bundle/WebProfilerBundle/Tests/Profiler/TemplateManagerTest.php @@ -11,6 +11,7 @@ namespace Symfony\Bundle\WebProfilerBundle\Tests\Profiler; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Bundle\WebProfilerBundle\Profiler\TemplateManager; use Symfony\Bundle\WebProfilerBundle\Tests\TestCase; use Symfony\Component\HttpKernel\Profiler\Profile; @@ -23,6 +24,8 @@ use Twig\Environment; */ class TemplateManagerTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var Environment */ @@ -38,7 +41,7 @@ class TemplateManagerTest extends TestCase */ protected $templateManager; - protected function setUp() + private function doSetUp() { parent::setUp(); diff --git a/src/Symfony/Component/Cache/Tests/Adapter/AbstractRedisAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/AbstractRedisAdapterTest.php index 5fcec9a263..b4beee075c 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/AbstractRedisAdapterTest.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/AbstractRedisAdapterTest.php @@ -11,10 +11,13 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Cache\Adapter\RedisAdapter; abstract class AbstractRedisAdapterTest extends AdapterTestCase { + use ForwardCompatTestTrait; + protected $skippedTests = [ 'testExpiration' => 'Testing expiration slows down the test suite', 'testHasItemReturnsFalseWhenDeferredItemIsExpired' => 'Testing expiration slows down the test suite', @@ -28,7 +31,7 @@ abstract class AbstractRedisAdapterTest extends AdapterTestCase return new RedisAdapter(self::$redis, str_replace('\\', '.', __CLASS__), $defaultLifetime); } - public static function setupBeforeClass() + private static function doSetUpBeforeClass() { if (!\extension_loaded('redis')) { self::markTestSkipped('Extension redis required.'); @@ -39,7 +42,7 @@ abstract class AbstractRedisAdapterTest extends AdapterTestCase } } - public static function tearDownAfterClass() + private static function doTearDownAfterClass() { self::$redis = null; } diff --git a/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php b/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php index aa1a57318b..e5e5ce3a4a 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php @@ -15,13 +15,16 @@ use Cache\IntegrationTests\CachePoolTest; use PHPUnit\Framework\Assert; use Psr\Cache\CacheItemInterface; use Psr\Cache\CacheItemPoolInterface; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Cache\CacheItem; use Symfony\Component\Cache\PruneableInterface; use Symfony\Contracts\Cache\CallbackInterface; abstract class AdapterTestCase extends CachePoolTest { - protected function setUp() + use ForwardCompatTestTrait; + + private function doSetUp() { parent::setUp(); diff --git a/src/Symfony/Component/Cache/Tests/Adapter/FilesystemAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/FilesystemAdapterTest.php index fa8306826e..0beb73666b 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/FilesystemAdapterTest.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/FilesystemAdapterTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Cache\Tests\Adapter; use Psr\Cache\CacheItemPoolInterface; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Cache\Adapter\FilesystemAdapter; /** @@ -19,12 +20,14 @@ use Symfony\Component\Cache\Adapter\FilesystemAdapter; */ class FilesystemAdapterTest extends AdapterTestCase { + use ForwardCompatTestTrait; + public function createCachePool($defaultLifetime = 0) { return new FilesystemAdapter('', $defaultLifetime); } - public static function tearDownAfterClass() + private static function doTearDownAfterClass() { self::rmdir(sys_get_temp_dir().'/symfony-cache'); } diff --git a/src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php index 050f105bc9..46cebe599b 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php @@ -11,11 +11,14 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Cache\Adapter\AbstractAdapter; use Symfony\Component\Cache\Adapter\MemcachedAdapter; class MemcachedAdapterTest extends AdapterTestCase { + use ForwardCompatTestTrait; + protected $skippedTests = [ 'testHasItemReturnsFalseWhenDeferredItemIsExpired' => 'Testing expiration slows down the test suite', 'testDefaultLifeTime' => 'Testing expiration slows down the test suite', @@ -24,7 +27,7 @@ class MemcachedAdapterTest extends AdapterTestCase protected static $client; - public static function setupBeforeClass() + private static function doSetUpBeforeClass() { if (!MemcachedAdapter::isSupported()) { self::markTestSkipped('Extension memcached >=2.2.0 required.'); diff --git a/src/Symfony/Component/Cache/Tests/Adapter/PdoAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/PdoAdapterTest.php index b587cf6d62..761ab8d88a 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/PdoAdapterTest.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/PdoAdapterTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Cache\Adapter\PdoAdapter; use Symfony\Component\Cache\Tests\Traits\PdoPruneableTrait; @@ -19,11 +20,12 @@ use Symfony\Component\Cache\Tests\Traits\PdoPruneableTrait; */ class PdoAdapterTest extends AdapterTestCase { + use ForwardCompatTestTrait; use PdoPruneableTrait; protected static $dbFile; - public static function setupBeforeClass() + private static function doSetUpBeforeClass() { if (!\extension_loaded('pdo_sqlite')) { self::markTestSkipped('Extension pdo_sqlite required.'); @@ -35,7 +37,7 @@ class PdoAdapterTest extends AdapterTestCase $pool->createTable(); } - public static function tearDownAfterClass() + private static function doTearDownAfterClass() { @unlink(self::$dbFile); } diff --git a/src/Symfony/Component/Cache/Tests/Adapter/PdoDbalAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/PdoDbalAdapterTest.php index 1c9fd5140c..6f9900601d 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/PdoDbalAdapterTest.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/PdoDbalAdapterTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Cache\Tests\Adapter; use Doctrine\DBAL\DriverManager; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Cache\Adapter\PdoAdapter; use Symfony\Component\Cache\Tests\Traits\PdoPruneableTrait; @@ -20,11 +21,12 @@ use Symfony\Component\Cache\Tests\Traits\PdoPruneableTrait; */ class PdoDbalAdapterTest extends AdapterTestCase { + use ForwardCompatTestTrait; use PdoPruneableTrait; protected static $dbFile; - public static function setupBeforeClass() + private static function doSetUpBeforeClass() { if (!\extension_loaded('pdo_sqlite')) { self::markTestSkipped('Extension pdo_sqlite required.'); @@ -35,7 +37,7 @@ class PdoDbalAdapterTest extends AdapterTestCase $pool = new PdoAdapter(DriverManager::getConnection(['driver' => 'pdo_sqlite', 'path' => self::$dbFile])); } - public static function tearDownAfterClass() + private static function doTearDownAfterClass() { @unlink(self::$dbFile); } diff --git a/src/Symfony/Component/Cache/Tests/Adapter/PhpArrayAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/PhpArrayAdapterTest.php index b6adc3a44c..9b4a6aa79c 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/PhpArrayAdapterTest.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/PhpArrayAdapterTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Cache\Tests\Adapter; use Psr\Cache\CacheItemInterface; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Cache\Adapter\FilesystemAdapter; use Symfony\Component\Cache\Adapter\NullAdapter; use Symfony\Component\Cache\Adapter\PhpArrayAdapter; @@ -21,6 +22,8 @@ use Symfony\Component\Cache\Adapter\PhpArrayAdapter; */ class PhpArrayAdapterTest extends AdapterTestCase { + use ForwardCompatTestTrait; + protected $skippedTests = [ 'testGet' => 'PhpArrayAdapter is read-only.', 'testRecursiveGet' => 'PhpArrayAdapter is read-only.', @@ -58,12 +61,12 @@ class PhpArrayAdapterTest extends AdapterTestCase protected static $file; - public static function setupBeforeClass() + private static function doSetUpBeforeClass() { self::$file = sys_get_temp_dir().'/symfony-cache/php-array-adapter-test.php'; } - protected function tearDown() + private function doTearDown() { if (file_exists(sys_get_temp_dir().'/symfony-cache')) { FilesystemAdapterTest::rmdir(sys_get_temp_dir().'/symfony-cache'); diff --git a/src/Symfony/Component/Cache/Tests/Adapter/PhpArrayAdapterWithFallbackTest.php b/src/Symfony/Component/Cache/Tests/Adapter/PhpArrayAdapterWithFallbackTest.php index a7feced4ea..4984656b10 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/PhpArrayAdapterWithFallbackTest.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/PhpArrayAdapterWithFallbackTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Cache\Adapter\FilesystemAdapter; use Symfony\Component\Cache\Adapter\PhpArrayAdapter; @@ -19,6 +20,8 @@ use Symfony\Component\Cache\Adapter\PhpArrayAdapter; */ class PhpArrayAdapterWithFallbackTest extends AdapterTestCase { + use ForwardCompatTestTrait; + protected $skippedTests = [ 'testGetItemInvalidKeys' => 'PhpArrayAdapter does not throw exceptions on invalid key.', 'testGetItemsInvalidKeys' => 'PhpArrayAdapter does not throw exceptions on invalid key.', @@ -30,12 +33,12 @@ class PhpArrayAdapterWithFallbackTest extends AdapterTestCase protected static $file; - public static function setupBeforeClass() + private static function doSetUpBeforeClass() { self::$file = sys_get_temp_dir().'/symfony-cache/php-array-adapter-test.php'; } - protected function tearDown() + private function doTearDown() { if (file_exists(sys_get_temp_dir().'/symfony-cache')) { FilesystemAdapterTest::rmdir(sys_get_temp_dir().'/symfony-cache'); diff --git a/src/Symfony/Component/Cache/Tests/Adapter/PhpFilesAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/PhpFilesAdapterTest.php index 2d5ddf20b7..bf8af36ff4 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/PhpFilesAdapterTest.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/PhpFilesAdapterTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Cache\Tests\Adapter; use Psr\Cache\CacheItemPoolInterface; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Cache\Adapter\PhpFilesAdapter; /** @@ -19,6 +20,8 @@ use Symfony\Component\Cache\Adapter\PhpFilesAdapter; */ class PhpFilesAdapterTest extends AdapterTestCase { + use ForwardCompatTestTrait; + protected $skippedTests = [ 'testDefaultLifeTime' => 'PhpFilesAdapter does not allow configuring a default lifetime.', ]; @@ -28,7 +31,7 @@ class PhpFilesAdapterTest extends AdapterTestCase return new PhpFilesAdapter('sf-cache'); } - public static function tearDownAfterClass() + private static function doTearDownAfterClass() { FilesystemAdapterTest::rmdir(sys_get_temp_dir().'/symfony-cache'); } diff --git a/src/Symfony/Component/Cache/Tests/Adapter/PredisAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/PredisAdapterTest.php index abe0a21094..2278a9d8cb 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/PredisAdapterTest.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/PredisAdapterTest.php @@ -12,11 +12,14 @@ namespace Symfony\Component\Cache\Tests\Adapter; use Predis\Connection\StreamConnection; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Cache\Adapter\RedisAdapter; class PredisAdapterTest extends AbstractRedisAdapterTest { - public static function setupBeforeClass() + use ForwardCompatTestTrait; + + private static function doSetUpBeforeClass() { parent::setupBeforeClass(); self::$redis = new \Predis\Client(['host' => getenv('REDIS_HOST')]); diff --git a/src/Symfony/Component/Cache/Tests/Adapter/PredisClusterAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/PredisClusterAdapterTest.php index f723dc4468..02bbde1290 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/PredisClusterAdapterTest.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/PredisClusterAdapterTest.php @@ -11,15 +11,19 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; + class PredisClusterAdapterTest extends AbstractRedisAdapterTest { - public static function setupBeforeClass() + use ForwardCompatTestTrait; + + private static function doSetUpBeforeClass() { parent::setupBeforeClass(); self::$redis = new \Predis\Client([['host' => getenv('REDIS_HOST')]]); } - public static function tearDownAfterClass() + private static function doTearDownAfterClass() { self::$redis = null; } diff --git a/src/Symfony/Component/Cache/Tests/Adapter/PredisRedisClusterAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/PredisRedisClusterAdapterTest.php index c819c348d9..a95d50e703 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/PredisRedisClusterAdapterTest.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/PredisRedisClusterAdapterTest.php @@ -11,11 +11,14 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Cache\Adapter\RedisAdapter; class PredisRedisClusterAdapterTest extends AbstractRedisAdapterTest { - public static function setupBeforeClass() + use ForwardCompatTestTrait; + + private static function doSetUpBeforeClass() { if (!$hosts = getenv('REDIS_CLUSTER_HOSTS')) { self::markTestSkipped('REDIS_CLUSTER_HOSTS env var is not defined.'); @@ -24,7 +27,7 @@ class PredisRedisClusterAdapterTest extends AbstractRedisAdapterTest self::$redis = RedisAdapter::createConnection('redis:?host['.str_replace(' ', ']&host[', $hosts).']', ['class' => \Predis\Client::class, 'redis_cluster' => true]); } - public static function tearDownAfterClass() + private static function doTearDownAfterClass() { self::$redis = null; } diff --git a/src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterTest.php index 4d9bc319eb..f11896bcd9 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterTest.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterTest.php @@ -11,13 +11,16 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Cache\Adapter\AbstractAdapter; use Symfony\Component\Cache\Adapter\RedisAdapter; use Symfony\Component\Cache\Traits\RedisProxy; class RedisAdapterTest extends AbstractRedisAdapterTest { - public static function setupBeforeClass() + use ForwardCompatTestTrait; + + private static function doSetUpBeforeClass() { parent::setupBeforeClass(); self::$redis = AbstractAdapter::createConnection('redis://'.getenv('REDIS_HOST'), ['lazy' => true]); diff --git a/src/Symfony/Component/Cache/Tests/Adapter/RedisArrayAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/RedisArrayAdapterTest.php index 749b039a03..f2734ff082 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/RedisArrayAdapterTest.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/RedisArrayAdapterTest.php @@ -11,9 +11,13 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; + class RedisArrayAdapterTest extends AbstractRedisAdapterTest { - public static function setupBeforeClass() + use ForwardCompatTestTrait; + + private static function doSetUpBeforeClass() { parent::setupBeforeClass(); if (!class_exists('RedisArray')) { diff --git a/src/Symfony/Component/Cache/Tests/Adapter/RedisClusterAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/RedisClusterAdapterTest.php index 75dd2790cc..78a4775805 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/RedisClusterAdapterTest.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/RedisClusterAdapterTest.php @@ -11,13 +11,16 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Cache\Adapter\AbstractAdapter; use Symfony\Component\Cache\Adapter\RedisAdapter; use Symfony\Component\Cache\Traits\RedisClusterProxy; class RedisClusterAdapterTest extends AbstractRedisAdapterTest { - public static function setupBeforeClass() + use ForwardCompatTestTrait; + + private static function doSetUpBeforeClass() { if (!class_exists('RedisCluster')) { self::markTestSkipped('The RedisCluster class is required.'); diff --git a/src/Symfony/Component/Cache/Tests/Adapter/TagAwareAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/TagAwareAdapterTest.php index 2a0266ef56..00ca2edfe2 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/TagAwareAdapterTest.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/TagAwareAdapterTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Cache\Adapter\AdapterInterface; use Symfony\Component\Cache\Adapter\FilesystemAdapter; use Symfony\Component\Cache\Adapter\TagAwareAdapter; @@ -21,6 +22,7 @@ use Symfony\Component\Cache\Tests\Traits\TagAwareTestTrait; */ class TagAwareAdapterTest extends AdapterTestCase { + use ForwardCompatTestTrait; use TagAwareTestTrait; public function createCachePool($defaultLifetime = 0) @@ -28,7 +30,7 @@ class TagAwareAdapterTest extends AdapterTestCase return new TagAwareAdapter(new FilesystemAdapter('', $defaultLifetime)); } - public static function tearDownAfterClass() + private static function doTearDownAfterClass() { FilesystemAdapterTest::rmdir(sys_get_temp_dir().'/symfony-cache'); } diff --git a/src/Symfony/Component/ClassLoader/Tests/ApcClassLoaderTest.php b/src/Symfony/Component/ClassLoader/Tests/ApcClassLoaderTest.php new file mode 100644 index 0000000000..ae6cb0d390 --- /dev/null +++ b/src/Symfony/Component/ClassLoader/Tests/ApcClassLoaderTest.php @@ -0,0 +1,203 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\ClassLoader\Tests; + +use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; +use Symfony\Component\ClassLoader\ApcClassLoader; +use Symfony\Component\ClassLoader\ClassLoader; + +/** + * @group legacy + */ +class ApcClassLoaderTest extends TestCase +{ + use ForwardCompatTestTrait; + + private function doSetUp() + { + if (!(filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) && filter_var(ini_get('apc.enable_cli'), FILTER_VALIDATE_BOOLEAN))) { + $this->markTestSkipped('The apc extension is not enabled.'); + } else { + apcu_clear_cache(); + } + } + + private function doTearDown() + { + if (filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) && filter_var(ini_get('apc.enable_cli'), FILTER_VALIDATE_BOOLEAN)) { + apcu_clear_cache(); + } + } + + public function testConstructor() + { + $loader = new ClassLoader(); + $loader->addPrefix('Apc\Namespaced', __DIR__.\DIRECTORY_SEPARATOR.'Fixtures'); + + $loader = new ApcClassLoader('test.prefix.', $loader); + + $this->assertEquals($loader->findFile('\Apc\Namespaced\FooBar'), apcu_fetch('test.prefix.\Apc\Namespaced\FooBar'), '__construct() takes a prefix as its first argument'); + } + + /** + * @dataProvider getLoadClassTests + */ + public function testLoadClass($className, $testClassName, $message) + { + $loader = new ClassLoader(); + $loader->addPrefix('Apc\Namespaced', __DIR__.\DIRECTORY_SEPARATOR.'Fixtures'); + $loader->addPrefix('Apc_Pearlike_', __DIR__.\DIRECTORY_SEPARATOR.'Fixtures'); + + $loader = new ApcClassLoader('test.prefix.', $loader); + $loader->loadClass($testClassName); + $this->assertTrue(class_exists($className), $message); + } + + public function getLoadClassTests() + { + return [ + ['\\Apc\\Namespaced\\Foo', 'Apc\\Namespaced\\Foo', '->loadClass() loads Apc\Namespaced\Foo class'], + ['Apc_Pearlike_Foo', 'Apc_Pearlike_Foo', '->loadClass() loads Apc_Pearlike_Foo class'], + ]; + } + + /** + * @dataProvider getLoadClassFromFallbackTests + */ + public function testLoadClassFromFallback($className, $testClassName, $message) + { + $loader = new ClassLoader(); + $loader->addPrefix('Apc\Namespaced', __DIR__.\DIRECTORY_SEPARATOR.'Fixtures'); + $loader->addPrefix('Apc_Pearlike_', __DIR__.\DIRECTORY_SEPARATOR.'Fixtures'); + $loader->addPrefix('', [__DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/fallback']); + + $loader = new ApcClassLoader('test.prefix.fallback', $loader); + $loader->loadClass($testClassName); + + $this->assertTrue(class_exists($className), $message); + } + + public function getLoadClassFromFallbackTests() + { + return [ + ['\\Apc\\Namespaced\\Baz', 'Apc\\Namespaced\\Baz', '->loadClass() loads Apc\Namespaced\Baz class'], + ['Apc_Pearlike_Baz', 'Apc_Pearlike_Baz', '->loadClass() loads Apc_Pearlike_Baz class'], + ['\\Apc\\Namespaced\\FooBar', 'Apc\\Namespaced\\FooBar', '->loadClass() loads Apc\Namespaced\Baz class from fallback dir'], + ['Apc_Pearlike_FooBar', 'Apc_Pearlike_FooBar', '->loadClass() loads Apc_Pearlike_Baz class from fallback dir'], + ]; + } + + /** + * @dataProvider getLoadClassNamespaceCollisionTests + */ + public function testLoadClassNamespaceCollision($namespaces, $className, $message) + { + $loader = new ClassLoader(); + $loader->addPrefixes($namespaces); + + $loader = new ApcClassLoader('test.prefix.collision.', $loader); + $loader->loadClass($className); + + $this->assertTrue(class_exists($className), $message); + } + + public function getLoadClassNamespaceCollisionTests() + { + return [ + [ + [ + 'Apc\\NamespaceCollision\\A' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha', + 'Apc\\NamespaceCollision\\A\\B' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/beta', + ], + 'Apc\NamespaceCollision\A\Foo', + '->loadClass() loads NamespaceCollision\A\Foo from alpha.', + ], + [ + [ + 'Apc\\NamespaceCollision\\A\\B' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/beta', + 'Apc\\NamespaceCollision\\A' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha', + ], + 'Apc\NamespaceCollision\A\Bar', + '->loadClass() loads NamespaceCollision\A\Bar from alpha.', + ], + [ + [ + 'Apc\\NamespaceCollision\\A' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha', + 'Apc\\NamespaceCollision\\A\\B' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/beta', + ], + 'Apc\NamespaceCollision\A\B\Foo', + '->loadClass() loads NamespaceCollision\A\B\Foo from beta.', + ], + [ + [ + 'Apc\\NamespaceCollision\\A\\B' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/beta', + 'Apc\\NamespaceCollision\\A' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha', + ], + 'Apc\NamespaceCollision\A\B\Bar', + '->loadClass() loads NamespaceCollision\A\B\Bar from beta.', + ], + ]; + } + + /** + * @dataProvider getLoadClassPrefixCollisionTests + */ + public function testLoadClassPrefixCollision($prefixes, $className, $message) + { + $loader = new ClassLoader(); + $loader->addPrefixes($prefixes); + + $loader = new ApcClassLoader('test.prefix.collision.', $loader); + $loader->loadClass($className); + + $this->assertTrue(class_exists($className), $message); + } + + public function getLoadClassPrefixCollisionTests() + { + return [ + [ + [ + 'ApcPrefixCollision_A_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha/Apc', + 'ApcPrefixCollision_A_B_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/beta/Apc', + ], + 'ApcPrefixCollision_A_Foo', + '->loadClass() loads ApcPrefixCollision_A_Foo from alpha.', + ], + [ + [ + 'ApcPrefixCollision_A_B_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/beta/Apc', + 'ApcPrefixCollision_A_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha/Apc', + ], + 'ApcPrefixCollision_A_Bar', + '->loadClass() loads ApcPrefixCollision_A_Bar from alpha.', + ], + [ + [ + 'ApcPrefixCollision_A_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha/Apc', + 'ApcPrefixCollision_A_B_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/beta/Apc', + ], + 'ApcPrefixCollision_A_B_Foo', + '->loadClass() loads ApcPrefixCollision_A_B_Foo from beta.', + ], + [ + [ + 'ApcPrefixCollision_A_B_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/beta/Apc', + 'ApcPrefixCollision_A_' => __DIR__.\DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha/Apc', + ], + 'ApcPrefixCollision_A_B_Bar', + '->loadClass() loads ApcPrefixCollision_A_B_Bar from beta.', + ], + ]; + } +} diff --git a/src/Symfony/Component/Config/Tests/ConfigCacheTest.php b/src/Symfony/Component/Config/Tests/ConfigCacheTest.php index d0b70899b5..5000b0edd7 100644 --- a/src/Symfony/Component/Config/Tests/ConfigCacheTest.php +++ b/src/Symfony/Component/Config/Tests/ConfigCacheTest.php @@ -12,19 +12,22 @@ namespace Symfony\Component\Config\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Config\ConfigCache; use Symfony\Component\Config\Tests\Resource\ResourceStub; class ConfigCacheTest extends TestCase { + use ForwardCompatTestTrait; + private $cacheFile = null; - protected function setUp() + private function doSetUp() { $this->cacheFile = tempnam(sys_get_temp_dir(), 'config_'); } - protected function tearDown() + private function doTearDown() { $files = [$this->cacheFile, $this->cacheFile.'.meta']; diff --git a/src/Symfony/Component/Config/Tests/Resource/DirectoryResourceTest.php b/src/Symfony/Component/Config/Tests/Resource/DirectoryResourceTest.php index 85f6c02ee6..6e86f9142d 100644 --- a/src/Symfony/Component/Config/Tests/Resource/DirectoryResourceTest.php +++ b/src/Symfony/Component/Config/Tests/Resource/DirectoryResourceTest.php @@ -12,13 +12,16 @@ namespace Symfony\Component\Config\Tests\Resource; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Config\Resource\DirectoryResource; class DirectoryResourceTest extends TestCase { + use ForwardCompatTestTrait; + protected $directory; - protected function setUp() + private function doSetUp() { $this->directory = sys_get_temp_dir().\DIRECTORY_SEPARATOR.'symfonyDirectoryIterator'; if (!file_exists($this->directory)) { @@ -27,7 +30,7 @@ class DirectoryResourceTest extends TestCase touch($this->directory.'/tmp.xml'); } - protected function tearDown() + private function doTearDown() { if (!is_dir($this->directory)) { return; diff --git a/src/Symfony/Component/Config/Tests/Resource/FileExistenceResourceTest.php b/src/Symfony/Component/Config/Tests/Resource/FileExistenceResourceTest.php index 433f65e820..ff80eddd4a 100644 --- a/src/Symfony/Component/Config/Tests/Resource/FileExistenceResourceTest.php +++ b/src/Symfony/Component/Config/Tests/Resource/FileExistenceResourceTest.php @@ -12,22 +12,25 @@ namespace Symfony\Component\Config\Tests\Resource; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Config\Resource\FileExistenceResource; class FileExistenceResourceTest extends TestCase { + use ForwardCompatTestTrait; + protected $resource; protected $file; protected $time; - protected function setUp() + private function doSetUp() { $this->file = realpath(sys_get_temp_dir()).'/tmp.xml'; $this->time = time(); $this->resource = new FileExistenceResource($this->file); } - protected function tearDown() + private function doTearDown() { if (file_exists($this->file)) { unlink($this->file); diff --git a/src/Symfony/Component/Config/Tests/Resource/FileResourceTest.php b/src/Symfony/Component/Config/Tests/Resource/FileResourceTest.php index 97781ffabf..091d9630e0 100644 --- a/src/Symfony/Component/Config/Tests/Resource/FileResourceTest.php +++ b/src/Symfony/Component/Config/Tests/Resource/FileResourceTest.php @@ -12,15 +12,18 @@ namespace Symfony\Component\Config\Tests\Resource; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Config\Resource\FileResource; class FileResourceTest extends TestCase { + use ForwardCompatTestTrait; + protected $resource; protected $file; protected $time; - protected function setUp() + private function doSetUp() { $this->file = sys_get_temp_dir().'/tmp.xml'; $this->time = time(); @@ -28,7 +31,7 @@ class FileResourceTest extends TestCase $this->resource = new FileResource($this->file); } - protected function tearDown() + private function doTearDown() { if (!file_exists($this->file)) { return; diff --git a/src/Symfony/Component/Config/Tests/Resource/GlobResourceTest.php b/src/Symfony/Component/Config/Tests/Resource/GlobResourceTest.php index 5e0b248002..2f521d8e20 100644 --- a/src/Symfony/Component/Config/Tests/Resource/GlobResourceTest.php +++ b/src/Symfony/Component/Config/Tests/Resource/GlobResourceTest.php @@ -12,11 +12,14 @@ namespace Symfony\Component\Config\Tests\Resource; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Config\Resource\GlobResource; class GlobResourceTest extends TestCase { - protected function tearDown() + use ForwardCompatTestTrait; + + private function doTearDown() { $dir = \dirname(__DIR__).'/Fixtures'; @rmdir($dir.'/TmpGlob'); diff --git a/src/Symfony/Component/Config/Tests/ResourceCheckerConfigCacheTest.php b/src/Symfony/Component/Config/Tests/ResourceCheckerConfigCacheTest.php index a2c2eeb811..c235465178 100644 --- a/src/Symfony/Component/Config/Tests/ResourceCheckerConfigCacheTest.php +++ b/src/Symfony/Component/Config/Tests/ResourceCheckerConfigCacheTest.php @@ -12,20 +12,23 @@ namespace Symfony\Component\Config\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Config\Resource\FileResource; use Symfony\Component\Config\ResourceCheckerConfigCache; use Symfony\Component\Config\Tests\Resource\ResourceStub; class ResourceCheckerConfigCacheTest extends TestCase { + use ForwardCompatTestTrait; + private $cacheFile = null; - protected function setUp() + private function doSetUp() { $this->cacheFile = tempnam(sys_get_temp_dir(), 'config_'); } - protected function tearDown() + private function doTearDown() { $files = [$this->cacheFile, "{$this->cacheFile}.meta"]; diff --git a/src/Symfony/Component/Console/Tests/ApplicationTest.php b/src/Symfony/Component/Console/Tests/ApplicationTest.php index e153e5609a..575dc4bff8 100644 --- a/src/Symfony/Component/Console/Tests/ApplicationTest.php +++ b/src/Symfony/Component/Console/Tests/ApplicationTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Console\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Console\Application; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\CommandLoader\FactoryCommandLoader; @@ -39,16 +40,18 @@ use Symfony\Component\EventDispatcher\EventDispatcher; class ApplicationTest extends TestCase { + use ForwardCompatTestTrait; + protected static $fixturesPath; private $colSize; - protected function setUp() + private function doSetUp() { $this->colSize = getenv('COLUMNS'); } - protected function tearDown() + private function doTearDown() { putenv($this->colSize ? 'COLUMNS='.$this->colSize : 'COLUMNS'); putenv('SHELL_VERBOSITY'); @@ -56,7 +59,7 @@ class ApplicationTest extends TestCase unset($_SERVER['SHELL_VERBOSITY']); } - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { self::$fixturesPath = realpath(__DIR__.'/Fixtures/'); require_once self::$fixturesPath.'/FooCommand.php'; diff --git a/src/Symfony/Component/Console/Tests/Command/CommandTest.php b/src/Symfony/Component/Console/Tests/Command/CommandTest.php index 937487a3c8..94e7247299 100644 --- a/src/Symfony/Component/Console/Tests/Command/CommandTest.php +++ b/src/Symfony/Component/Console/Tests/Command/CommandTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Console\Tests\Command; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Console\Application; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Helper\FormatterHelper; @@ -26,9 +27,11 @@ use Symfony\Component\Console\Tester\CommandTester; class CommandTest extends TestCase { + use ForwardCompatTestTrait; + protected static $fixturesPath; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { self::$fixturesPath = __DIR__.'/../Fixtures/'; require_once self::$fixturesPath.'/TestCommand.php'; diff --git a/src/Symfony/Component/Console/Tests/Command/LockableTraitTest.php b/src/Symfony/Component/Console/Tests/Command/LockableTraitTest.php index 76dc0443ec..d8368a41ff 100644 --- a/src/Symfony/Component/Console/Tests/Command/LockableTraitTest.php +++ b/src/Symfony/Component/Console/Tests/Command/LockableTraitTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Console\Tests\Command; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Console\Tester\CommandTester; use Symfony\Component\Lock\LockFactory; use Symfony\Component\Lock\Store\FlockStore; @@ -19,9 +20,11 @@ use Symfony\Component\Lock\Store\SemaphoreStore; class LockableTraitTest extends TestCase { + use ForwardCompatTestTrait; + protected static $fixturesPath; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { self::$fixturesPath = __DIR__.'/../Fixtures/'; require_once self::$fixturesPath.'/FooLockCommand.php'; diff --git a/src/Symfony/Component/Console/Tests/Helper/ProgressBarTest.php b/src/Symfony/Component/Console/Tests/Helper/ProgressBarTest.php index 3ecd157ebf..d6d5999fcb 100644 --- a/src/Symfony/Component/Console/Tests/Helper/ProgressBarTest.php +++ b/src/Symfony/Component/Console/Tests/Helper/ProgressBarTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Console\Tests\Helper; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Console\Formatter\OutputFormatter; use Symfony\Component\Console\Helper\Helper; use Symfony\Component\Console\Helper\ProgressBar; @@ -23,15 +24,17 @@ use Symfony\Component\Console\Output\StreamOutput; */ class ProgressBarTest extends TestCase { + use ForwardCompatTestTrait; + private $colSize; - protected function setUp() + private function doSetUp() { $this->colSize = getenv('COLUMNS'); putenv('COLUMNS=120'); } - protected function tearDown() + private function doTearDown() { putenv($this->colSize ? 'COLUMNS='.$this->colSize : 'COLUMNS'); } diff --git a/src/Symfony/Component/Console/Tests/Helper/TableTest.php b/src/Symfony/Component/Console/Tests/Helper/TableTest.php index 5eef8d60e0..a320933d8b 100644 --- a/src/Symfony/Component/Console/Tests/Helper/TableTest.php +++ b/src/Symfony/Component/Console/Tests/Helper/TableTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Console\Tests\Helper; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Console\Formatter\OutputFormatter; use Symfony\Component\Console\Helper\Table; use Symfony\Component\Console\Helper\TableCell; @@ -22,14 +23,16 @@ use Symfony\Component\Console\Output\StreamOutput; class TableTest extends TestCase { + use ForwardCompatTestTrait; + protected $stream; - protected function setUp() + private function doSetUp() { $this->stream = fopen('php://memory', 'r+'); } - protected function tearDown() + private function doTearDown() { fclose($this->stream); $this->stream = null; diff --git a/src/Symfony/Component/Console/Tests/Input/InputDefinitionTest.php b/src/Symfony/Component/Console/Tests/Input/InputDefinitionTest.php index aca004d53e..c5c7ab0ff0 100644 --- a/src/Symfony/Component/Console/Tests/Input/InputDefinitionTest.php +++ b/src/Symfony/Component/Console/Tests/Input/InputDefinitionTest.php @@ -12,12 +12,15 @@ namespace Symfony\Component\Console\Tests\Input; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputDefinition; use Symfony\Component\Console\Input\InputOption; class InputDefinitionTest extends TestCase { + use ForwardCompatTestTrait; + protected static $fixtures; protected $foo; @@ -25,7 +28,7 @@ class InputDefinitionTest extends TestCase protected $foo1; protected $foo2; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { self::$fixtures = __DIR__.'/../Fixtures/'; } diff --git a/src/Symfony/Component/Console/Tests/Output/StreamOutputTest.php b/src/Symfony/Component/Console/Tests/Output/StreamOutputTest.php index 780b5681fa..78a094ccdb 100644 --- a/src/Symfony/Component/Console/Tests/Output/StreamOutputTest.php +++ b/src/Symfony/Component/Console/Tests/Output/StreamOutputTest.php @@ -12,19 +12,22 @@ namespace Symfony\Component\Console\Tests\Output; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Console\Output\Output; use Symfony\Component\Console\Output\StreamOutput; class StreamOutputTest extends TestCase { + use ForwardCompatTestTrait; + protected $stream; - protected function setUp() + private function doSetUp() { $this->stream = fopen('php://memory', 'a', false); } - protected function tearDown() + private function doTearDown() { $this->stream = null; } diff --git a/src/Symfony/Component/Console/Tests/Style/SymfonyStyleTest.php b/src/Symfony/Component/Console/Tests/Style/SymfonyStyleTest.php index 88d00c8a99..323ef2dc08 100644 --- a/src/Symfony/Component/Console/Tests/Style/SymfonyStyleTest.php +++ b/src/Symfony/Component/Console/Tests/Style/SymfonyStyleTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Console\Tests\Style; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Formatter\OutputFormatter; use Symfony\Component\Console\Input\InputInterface; @@ -22,13 +23,15 @@ use Symfony\Component\Console\Tester\CommandTester; class SymfonyStyleTest extends TestCase { + use ForwardCompatTestTrait; + /** @var Command */ protected $command; /** @var CommandTester */ protected $tester; private $colSize; - protected function setUp() + private function doSetUp() { $this->colSize = getenv('COLUMNS'); putenv('COLUMNS=121'); @@ -36,7 +39,7 @@ class SymfonyStyleTest extends TestCase $this->tester = new CommandTester($this->command); } - protected function tearDown() + private function doTearDown() { putenv($this->colSize ? 'COLUMNS='.$this->colSize : 'COLUMNS'); $this->command = null; diff --git a/src/Symfony/Component/Console/Tests/TerminalTest.php b/src/Symfony/Component/Console/Tests/TerminalTest.php index 93b8c44a78..bf40393fb5 100644 --- a/src/Symfony/Component/Console/Tests/TerminalTest.php +++ b/src/Symfony/Component/Console/Tests/TerminalTest.php @@ -12,20 +12,23 @@ namespace Symfony\Component\Console\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Console\Terminal; class TerminalTest extends TestCase { + use ForwardCompatTestTrait; + private $colSize; private $lineSize; - protected function setUp() + private function doSetUp() { $this->colSize = getenv('COLUMNS'); $this->lineSize = getenv('LINES'); } - protected function tearDown() + private function doTearDown() { putenv($this->colSize ? 'COLUMNS='.$this->colSize : 'COLUMNS'); putenv($this->lineSize ? 'LINES' : 'LINES='.$this->lineSize); diff --git a/src/Symfony/Component/Console/Tests/Tester/ApplicationTesterTest.php b/src/Symfony/Component/Console/Tests/Tester/ApplicationTesterTest.php index 7522731535..8435ad72ba 100644 --- a/src/Symfony/Component/Console/Tests/Tester/ApplicationTesterTest.php +++ b/src/Symfony/Component/Console/Tests/Tester/ApplicationTesterTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Console\Tests\Tester; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Console\Application; use Symfony\Component\Console\Helper\QuestionHelper; use Symfony\Component\Console\Output\Output; @@ -20,10 +21,12 @@ use Symfony\Component\Console\Tester\ApplicationTester; class ApplicationTesterTest extends TestCase { + use ForwardCompatTestTrait; + protected $application; protected $tester; - protected function setUp() + private function doSetUp() { $this->application = new Application(); $this->application->setAutoExit(false); @@ -38,7 +41,7 @@ class ApplicationTesterTest extends TestCase $this->tester->run(['command' => 'foo', 'foo' => 'bar'], ['interactive' => false, 'decorated' => false, 'verbosity' => Output::VERBOSITY_VERBOSE]); } - protected function tearDown() + private function doTearDown() { $this->application = null; $this->tester = null; diff --git a/src/Symfony/Component/Console/Tests/Tester/CommandTesterTest.php b/src/Symfony/Component/Console/Tests/Tester/CommandTesterTest.php index 706629673c..7db663222a 100644 --- a/src/Symfony/Component/Console/Tests/Tester/CommandTesterTest.php +++ b/src/Symfony/Component/Console/Tests/Tester/CommandTesterTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Console\Tests\Tester; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Console\Application; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Helper\HelperSet; @@ -24,10 +25,12 @@ use Symfony\Component\Console\Tester\CommandTester; class CommandTesterTest extends TestCase { + use ForwardCompatTestTrait; + protected $command; protected $tester; - protected function setUp() + private function doSetUp() { $this->command = new Command('foo'); $this->command->addArgument('command'); @@ -38,7 +41,7 @@ class CommandTesterTest extends TestCase $this->tester->execute(['foo' => 'bar'], ['interactive' => false, 'decorated' => false, 'verbosity' => Output::VERBOSITY_VERBOSE]); } - protected function tearDown() + private function doTearDown() { $this->command = null; $this->tester = null; diff --git a/src/Symfony/Component/DependencyInjection/CHANGELOG.md b/src/Symfony/Component/DependencyInjection/CHANGELOG.md index 543841788d..d45366edb8 100644 --- a/src/Symfony/Component/DependencyInjection/CHANGELOG.md +++ b/src/Symfony/Component/DependencyInjection/CHANGELOG.md @@ -16,6 +16,7 @@ CHANGELOG 4.4.0 ----- + * added support for dumping the container in one file instead of many files * deprecated support for short factories and short configurators in Yaml * deprecated `tagged` in favor of `tagged_iterator` * deprecated passing an instance of `Symfony\Component\DependencyInjection\Parameter` as class name to `Symfony\Component\DependencyInjection\Definition` diff --git a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php index b2efc144ac..4ea0693d9c 100644 --- a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php +++ b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php @@ -73,6 +73,7 @@ class PhpDumper extends Dumper private $namespace; private $asFiles; private $hotPathTag; + private $inlineFactories; private $inlineRequires; private $inlinedRequires = []; private $circularReferences = []; @@ -135,6 +136,7 @@ class PhpDumper extends Dumper 'as_files' => false, 'debug' => true, 'hot_path_tag' => 'container.hot_path', + 'inline_factories_parameter' => 'container.dumper.inline_factories', 'inline_class_loader_parameter' => 'container.dumper.inline_class_loader', 'service_locator_tag' => 'container.service_locator', 'build_time' => time(), @@ -144,6 +146,7 @@ class PhpDumper extends Dumper $this->namespace = $options['namespace']; $this->asFiles = $options['as_files']; $this->hotPathTag = $options['hot_path_tag']; + $this->inlineFactories = $this->asFiles && $options['inline_factories_parameter'] && $this->container->hasParameter($options['inline_factories_parameter']) && $this->container->getParameter($options['inline_factories_parameter']); $this->inlineRequires = $options['inline_class_loader_parameter'] && $this->container->hasParameter($options['inline_class_loader_parameter']) && $this->container->getParameter($options['inline_class_loader_parameter']); $this->serviceLocatorTag = $options['service_locator_tag']; @@ -217,6 +220,8 @@ class PhpDumper extends Dumper } } + $proxyClasses = $this->inlineFactories ? $this->generateProxyClasses() : null; + $code = $this->startClass($options['class'], $baseClass, $baseClassWithNamespace). $this->addServices($services). @@ -224,6 +229,8 @@ class PhpDumper extends Dumper $this->addDefaultParametersMethod() ; + $proxyClasses = $proxyClasses ?? $this->generateProxyClasses(); + if ($this->addGetService) { $code = preg_replace( "/(\r?\n\r?\n public function __construct.+?\\{\r?\n)/s", @@ -260,13 +267,24 @@ EOF; $files['removed-ids.php'] = $c .= "];\n"; } - foreach ($this->generateServiceFiles($services) as $file => $c) { - $files[$file] = $fileStart.$c; + if (!$this->inlineFactories) { + foreach ($this->generateServiceFiles($services) as $file => $c) { + $files[$file] = $fileStart.$c; + } + foreach ($proxyClasses as $file => $c) { + $files[$file] = "generateProxyClasses() as $file => $c) { - $files[$file] = "endClass(); + + if ($this->inlineFactories) { + foreach ($proxyClasses as $c) { + $code .= $c; + } } - $files[$options['class'].'.php'] = $code.$this->endClass(); + + $files[$options['class'].'.php'] = $code; $hash = ucfirst(strtr(ContainerBuilder::hash($files), '._', 'xx')); $code = []; @@ -305,7 +323,7 @@ return new \\Container{$hash}\\{$options['class']}([ EOF; } else { $code .= $this->endClass(); - foreach ($this->generateProxyClasses() as $c) { + foreach ($proxyClasses as $c) { $code .= $c; } } @@ -435,8 +453,9 @@ EOF; $lineage[$class] = substr($exportedFile, 1, -1); } - private function generateProxyClasses() + private function generateProxyClasses(): array { + $proxyClasses = []; $alreadyGenerated = []; $definitions = $this->container->getDefinitions(); $strip = '' === $this->docStar && method_exists('Symfony\Component\HttpKernel\Kernel', 'stripComments'); @@ -455,19 +474,39 @@ EOF; if ("\n" === $proxyCode = "\n".$proxyDumper->getProxyCode($definition)) { continue; } + + if ($this->inlineRequires) { + $lineage = []; + $this->collectLineage($class, $lineage); + + $code = ''; + foreach (array_diff_key(array_flip($lineage), $this->inlinedRequires) as $file => $class) { + if ($this->inlineFactories) { + $this->inlinedRequires[$file] = true; + } + $file = preg_replace('#^\\$this->targetDirs\[(\d++)\]#', sprintf('\dirname(__DIR__, %d + $1)', $this->asFiles), $file); + $code .= sprintf("include_once %s;\n", $file); + } + + $proxyCode = $code.$proxyCode; + } + if ($strip) { $proxyCode = " $proxyCode; + + $proxyClasses[sprintf('%s.php', explode(' ', $proxyCode, 3)[1])] = $proxyCode; } + + return $proxyClasses; } private function addServiceInclude(string $cId, Definition $definition): string { $code = ''; - if ($this->inlineRequires && !$this->isHotPath($definition)) { + if ($this->inlineRequires && (!$this->isHotPath($definition) || $this->getProxyDumper()->isProxyCandidate($definition))) { $lineage = []; foreach ($this->inlinedDefinitions as $def) { if (!$def->isDeprecated() && \is_string($class = \is_array($factory = $def->getFactory()) && \is_string($factory[0]) ? $factory[0] : $def->getClass())) { @@ -697,7 +736,7 @@ EOF; $lazyInitialization = ''; } - $asFile = $this->asFiles && !$this->isHotPath($definition); + $asFile = $this->asFiles && !$this->inlineFactories && !$this->isHotPath($definition); $methodName = $this->generateMethodName($id); if ($asFile) { $file = $methodName.'.php'; @@ -723,17 +762,16 @@ EOF; $this->serviceCalls = []; $this->inlinedDefinitions = $this->getDefinitionsFromArguments([$definition], null, $this->serviceCalls); - $code .= $this->addServiceInclude($id, $definition); + if ($definition->isDeprecated()) { + $code .= sprintf(" @trigger_error(%s, E_USER_DEPRECATED);\n\n", $this->export($definition->getDeprecationMessage($id))); + } if ($this->getProxyDumper()->isProxyCandidate($definition)) { $factoryCode = $asFile ? ($definition->isShared() ? "\$this->load('%s.php', false)" : '$this->factories[%2$s](false)') : '$this->%s(false)'; $code .= $this->getProxyDumper()->getProxyFactoryCode($definition, $id, sprintf($factoryCode, $methodName, $this->doExport($id))); } - if ($definition->isDeprecated()) { - $code .= sprintf(" @trigger_error(%s, E_USER_DEPRECATED);\n\n", $this->export($definition->getDeprecationMessage($id))); - } - + $code .= $this->addServiceInclude($id, $definition); $code .= $this->addInlineService($id, $definition); if ($asFile) { @@ -1048,7 +1086,7 @@ EOF; $code .= $this->addSyntheticIds(); $code .= $this->addMethodMap(); - $code .= $this->asFiles ? $this->addFileMap() : ''; + $code .= $this->asFiles && !$this->inlineFactories ? $this->addFileMap() : ''; $code .= $this->addAliases(); $code .= $this->addInlineRequires(); $code .= <<addRemovedIds(); - if ($this->asFiles) { + if ($this->asFiles && !$this->inlineFactories) { $code .= <<isProxyCandidate($definition)) { continue; } - if ($this->asFiles) { + if ($this->asFiles && !$this->inlineFactories) { $proxyLoader = '$this->load("{$class}.php")'; - } elseif ($this->namespace) { - $proxyLoader = 'class_alias("'.$this->namespace.'\\\\{$class}", $class, false)'; + } elseif ($this->namespace || $this->inlineFactories) { + $proxyLoader = 'class_alias(__NAMESPACE__."\\\\$class", $class, false)'; } else { $proxyLoader = ''; } @@ -1164,7 +1202,7 @@ EOF; $definitions = $this->container->getDefinitions(); ksort($definitions); foreach ($definitions as $id => $definition) { - if (!$definition->isSynthetic() && $definition->isPublic() && (!$this->asFiles || $this->isHotPath($definition))) { + if (!$definition->isSynthetic() && $definition->isPublic() && (!$this->asFiles || $this->inlineFactories || $this->isHotPath($definition))) { $code .= ' '.$this->doExport($id).' => '.$this->doExport($this->generateMethodName($id)).",\n"; } } @@ -1261,6 +1299,11 @@ EOF; foreach ($this->container->findTaggedServiceIds($this->hotPathTag) as $id => $tags) { $definition = $this->container->getDefinition($id); + + if ($this->getProxyDumper()->isProxyCandidate($definition)) { + continue; + } + $inlinedDefinitions = $this->getDefinitionsFromArguments([$definition]); foreach ($inlinedDefinitions as $def) { @@ -1606,7 +1649,7 @@ EOF; continue; } $definition = $this->container->findDefinition($id = (string) $v); - $load = !($definition->hasErrors() && $e = $definition->getErrors()) ? $this->asFiles && !$this->isHotPath($definition) : reset($e); + $load = !($definition->hasErrors() && $e = $definition->getErrors()) ? $this->asFiles && !$this->inlineFactories && !$this->isHotPath($definition) : reset($e); $serviceMap .= sprintf("\n %s => [%s, %s, %s, %s],", $this->export($k), $this->export($definition->isShared() ? ($definition->isPublic() ? 'services' : 'privates') : false), @@ -1749,7 +1792,7 @@ EOF; $code = sprintf('$this->%s[%s] = %s', $definition->isPublic() ? 'services' : 'privates', $this->doExport($id), $code); } $code = "($code)"; - } elseif ($this->asFiles && !$this->isHotPath($definition)) { + } elseif ($this->asFiles && !$this->inlineFactories && !$this->isHotPath($definition)) { $code = sprintf("\$this->load('%s.php')", $this->generateMethodName($id)); if (!$definition->isShared()) { $factory = sprintf('$this->factories%s[%s]', $definition->isPublic() ? '' : "['service_container']", $this->doExport($id)); diff --git a/src/Symfony/Component/DependencyInjection/Tests/Compiler/ExtensionCompilerPassTest.php b/src/Symfony/Component/DependencyInjection/Tests/Compiler/ExtensionCompilerPassTest.php index 810fbe48a5..5b1862d97f 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Compiler/ExtensionCompilerPassTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Compiler/ExtensionCompilerPassTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\DependencyInjection\Tests\Compiler; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\Compiler\ExtensionCompilerPass; use Symfony\Component\DependencyInjection\ContainerBuilder; @@ -22,10 +23,12 @@ use Symfony\Component\DependencyInjection\Extension\Extension; */ class ExtensionCompilerPassTest extends TestCase { + use ForwardCompatTestTrait; + private $container; private $pass; - protected function setUp() + private function doSetUp() { $this->container = new ContainerBuilder(); $this->pass = new ExtensionCompilerPass(); diff --git a/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveParameterPlaceHoldersPassTest.php b/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveParameterPlaceHoldersPassTest.php index 5aa6471751..3e946932f4 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveParameterPlaceHoldersPassTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveParameterPlaceHoldersPassTest.php @@ -12,16 +12,19 @@ namespace Symfony\Component\DependencyInjection\Tests\Compiler; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\DependencyInjection\Compiler\ResolveParameterPlaceHoldersPass; use Symfony\Component\DependencyInjection\ContainerBuilder; class ResolveParameterPlaceHoldersPassTest extends TestCase { + use ForwardCompatTestTrait; + private $compilerPass; private $container; private $fooDefinition; - protected function setUp() + private function doSetUp() { $this->compilerPass = new ResolveParameterPlaceHoldersPass(); $this->container = $this->createContainerBuilder(); diff --git a/src/Symfony/Component/DependencyInjection/Tests/Config/AutowireServiceResourceTest.php b/src/Symfony/Component/DependencyInjection/Tests/Config/AutowireServiceResourceTest.php new file mode 100644 index 0000000000..03ed02035e --- /dev/null +++ b/src/Symfony/Component/DependencyInjection/Tests/Config/AutowireServiceResourceTest.php @@ -0,0 +1,127 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\DependencyInjection\Tests\Config; + +use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; +use Symfony\Component\DependencyInjection\Compiler\AutowirePass; +use Symfony\Component\DependencyInjection\Config\AutowireServiceResource; + +/** + * @group legacy + */ +class AutowireServiceResourceTest extends TestCase +{ + use ForwardCompatTestTrait; + + /** + * @var AutowireServiceResource + */ + private $resource; + private $file; + private $class; + private $time; + + private function doSetUp() + { + $this->file = realpath(sys_get_temp_dir()).'/tmp.php'; + $this->time = time(); + touch($this->file, $this->time); + + $this->class = __NAMESPACE__.'\Foo'; + $this->resource = new AutowireServiceResource( + $this->class, + $this->file, + [] + ); + } + + public function testToString() + { + $this->assertSame('service.autowire.'.$this->class, (string) $this->resource); + } + + public function testSerializeUnserialize() + { + $unserialized = unserialize(serialize($this->resource)); + + $this->assertEquals($this->resource, $unserialized); + } + + public function testIsFresh() + { + $this->assertTrue($this->resource->isFresh($this->time), '->isFresh() returns true if the resource has not changed in same second'); + $this->assertTrue($this->resource->isFresh($this->time + 10), '->isFresh() returns true if the resource has not changed'); + $this->assertFalse($this->resource->isFresh($this->time - 86400), '->isFresh() returns false if the resource has been updated'); + } + + public function testIsFreshForDeletedResources() + { + unlink($this->file); + + $this->assertFalse($this->resource->isFresh($this->getStaleFileTime()), '->isFresh() returns false if the resource does not exist'); + } + + public function testIsNotFreshChangedResource() + { + $oldResource = new AutowireServiceResource( + $this->class, + $this->file, + ['will_be_different'] + ); + + // test with a stale file *and* a resource that *will* be different than the actual + $this->assertFalse($oldResource->isFresh($this->getStaleFileTime()), '->isFresh() returns false if the constructor arguments have changed'); + } + + public function testIsFreshSameConstructorArgs() + { + $oldResource = AutowirePass::createResourceForClass( + new \ReflectionClass(__NAMESPACE__.'\Foo') + ); + + // test with a stale file *but* the resource will not be changed + $this->assertTrue($oldResource->isFresh($this->getStaleFileTime()), '->isFresh() returns false if the constructor arguments have changed'); + } + + public function testNotFreshIfClassNotFound() + { + $resource = new AutowireServiceResource( + 'Some\Non\Existent\Class', + $this->file, + [] + ); + + $this->assertFalse($resource->isFresh($this->getStaleFileTime()), '->isFresh() returns false if the class no longer exists'); + } + + private function doTearDown() + { + if (!file_exists($this->file)) { + return; + } + + unlink($this->file); + } + + private function getStaleFileTime() + { + return $this->time - 10; + } +} + +class Foo +{ + public function __construct($foo) + { + } +} diff --git a/src/Symfony/Component/DependencyInjection/Tests/Config/ContainerParametersResourceCheckerTest.php b/src/Symfony/Component/DependencyInjection/Tests/Config/ContainerParametersResourceCheckerTest.php index eb5fc5a99d..4b089936e7 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Config/ContainerParametersResourceCheckerTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Config/ContainerParametersResourceCheckerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\DependencyInjection\Tests\Config; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Config\ResourceCheckerInterface; use Symfony\Component\DependencyInjection\Config\ContainerParametersResource; use Symfony\Component\DependencyInjection\Config\ContainerParametersResourceChecker; @@ -19,6 +20,8 @@ use Symfony\Component\DependencyInjection\ContainerInterface; class ContainerParametersResourceCheckerTest extends TestCase { + use ForwardCompatTestTrait; + /** @var ContainerParametersResource */ private $resource; @@ -28,7 +31,7 @@ class ContainerParametersResourceCheckerTest extends TestCase /** @var ContainerInterface */ private $container; - protected function setUp() + private function doSetUp() { $this->resource = new ContainerParametersResource(['locales' => ['fr', 'en'], 'default_locale' => 'fr']); $this->container = $this->getMockBuilder(ContainerInterface::class)->getMock(); diff --git a/src/Symfony/Component/DependencyInjection/Tests/Config/ContainerParametersResourceTest.php b/src/Symfony/Component/DependencyInjection/Tests/Config/ContainerParametersResourceTest.php index e177ac16b8..392c84871c 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Config/ContainerParametersResourceTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Config/ContainerParametersResourceTest.php @@ -12,14 +12,17 @@ namespace Symfony\Component\DependencyInjection\Tests\Config; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\DependencyInjection\Config\ContainerParametersResource; class ContainerParametersResourceTest extends TestCase { + use ForwardCompatTestTrait; + /** @var ContainerParametersResource */ private $resource; - protected function setUp() + private function doSetUp() { $this->resource = new ContainerParametersResource(['locales' => ['fr', 'en'], 'default_locale' => 'fr']); } diff --git a/src/Symfony/Component/DependencyInjection/Tests/CrossCheckTest.php b/src/Symfony/Component/DependencyInjection/Tests/CrossCheckTest.php index 12e9ebe422..b15b33b617 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/CrossCheckTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/CrossCheckTest.php @@ -12,14 +12,17 @@ namespace Symfony\Component\DependencyInjection\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\ContainerBuilder; class CrossCheckTest extends TestCase { + use ForwardCompatTestTrait; + protected static $fixturesPath; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { self::$fixturesPath = __DIR__.'/Fixtures/'; diff --git a/src/Symfony/Component/DependencyInjection/Tests/Dumper/GraphvizDumperTest.php b/src/Symfony/Component/DependencyInjection/Tests/Dumper/GraphvizDumperTest.php index ea11c7c533..23f1cb8bb4 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Dumper/GraphvizDumperTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Dumper/GraphvizDumperTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\DependencyInjection\Tests\Dumper; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\Dumper\GraphvizDumper; @@ -19,9 +20,11 @@ use Symfony\Component\DependencyInjection\Reference; class GraphvizDumperTest extends TestCase { + use ForwardCompatTestTrait; + protected static $fixturesPath; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { self::$fixturesPath = __DIR__.'/../Fixtures/'; } diff --git a/src/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php b/src/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php index b3967bc39d..dc6367ac0a 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php @@ -13,6 +13,8 @@ namespace Symfony\Component\DependencyInjection\Tests\Dumper; use PHPUnit\Framework\TestCase; use Psr\Container\ContainerInterface; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; +use Symfony\Bridge\ProxyManager\LazyProxy\PhpDumper\ProxyDumper; use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\Argument\IteratorArgument; use Symfony\Component\DependencyInjection\Argument\RewindableGenerator; @@ -42,12 +44,16 @@ use Symfony\Component\ExpressionLanguage\Expression; require_once __DIR__.'/../Fixtures/includes/autowiring_classes.php'; require_once __DIR__.'/../Fixtures/includes/classes.php'; +require_once __DIR__.'/../Fixtures/includes/foo.php'; +require_once __DIR__.'/../Fixtures/includes/foo_lazy.php'; class PhpDumperTest extends TestCase { + use ForwardCompatTestTrait; + protected static $fixturesPath; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { self::$fixturesPath = realpath(__DIR__.'/../Fixtures/'); } @@ -234,6 +240,59 @@ class PhpDumperTest extends TestCase $this->assertStringMatchesFormatFile(self::$fixturesPath.'/php/services9_as_files.txt', $dump); } + public function testDumpAsFilesWithFactoriesInlined() + { + $container = include self::$fixturesPath.'/containers/container9.php'; + $container->setParameter('container.dumper.inline_factories', true); + $container->setParameter('container.dumper.inline_class_loader', true); + + $container->getDefinition('bar')->addTag('hot'); + $container->register('non_shared_foo', \Bar\FooClass::class) + ->setFile(realpath(self::$fixturesPath.'/includes/foo.php')) + ->setShared(false) + ->setPublic(true); + $container->register('throwing_one', \Bar\FooClass::class) + ->addArgument(new Reference('errored_one', ContainerBuilder::RUNTIME_EXCEPTION_ON_INVALID_REFERENCE)) + ->setPublic(true); + $container->register('errored_one', 'stdClass') + ->addError('No-no-no-no'); + $container->compile(); + + $dumper = new PhpDumper($container); + $dump = print_r($dumper->dump(['as_files' => true, 'file' => __DIR__, 'hot_path_tag' => 'hot', 'build_time' => 1563381341]), true); + + if ('\\' === \DIRECTORY_SEPARATOR) { + $dump = str_replace('\\\\Fixtures\\\\includes\\\\', '/Fixtures/includes/', $dump); + } + $this->assertStringMatchesFormatFile(self::$fixturesPath.'/php/services9_inlined_factories.txt', $dump); + } + + /** + * @requires function \Symfony\Bridge\ProxyManager\LazyProxy\PhpDumper\ProxyDumper::getProxyCode + */ + public function testDumpAsFilesWithLazyFactoriesInlined() + { + $container = new ContainerBuilder(); + $container->setParameter('container.dumper.inline_factories', true); + $container->setParameter('container.dumper.inline_class_loader', true); + + $container->register('lazy_foo', \Bar\FooClass::class) + ->addArgument(new Definition(\Bar\FooLazyClass::class)) + ->setPublic(true) + ->setLazy(true); + + $container->compile(); + + $dumper = new PhpDumper($container); + $dumper->setProxyDumper(new ProxyDumper()); + $dump = print_r($dumper->dump(['as_files' => true, 'file' => __DIR__, 'hot_path_tag' => 'hot', 'build_time' => 1563381341]), true); + + if ('\\' === \DIRECTORY_SEPARATOR) { + $dump = str_replace('\\\\Fixtures\\\\includes\\\\', '/Fixtures/includes/', $dump); + } + $this->assertStringMatchesFormatFile(self::$fixturesPath.'/php/services9_lazy_inlined_factories.txt', $dump); + } + public function testNonSharedLazyDumpAsFiles() { $container = include self::$fixturesPath.'/containers/container_non_shared_lazy.php'; diff --git a/src/Symfony/Component/DependencyInjection/Tests/Dumper/XmlDumperTest.php b/src/Symfony/Component/DependencyInjection/Tests/Dumper/XmlDumperTest.php index cc80a69455..08ce254ecb 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Dumper/XmlDumperTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Dumper/XmlDumperTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\DependencyInjection\Tests\Dumper; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\Argument\ServiceLocatorArgument; use Symfony\Component\DependencyInjection\Argument\TaggedIteratorArgument; @@ -23,9 +24,11 @@ use Symfony\Component\DependencyInjection\Reference; class XmlDumperTest extends TestCase { + use ForwardCompatTestTrait; + protected static $fixturesPath; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { self::$fixturesPath = realpath(__DIR__.'/../Fixtures/'); } diff --git a/src/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php b/src/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php index 72901c855e..138cea1f64 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\DependencyInjection\Tests\Dumper; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\Argument\ServiceLocatorArgument; use Symfony\Component\DependencyInjection\Argument\TaggedIteratorArgument; @@ -26,9 +27,11 @@ use Symfony\Component\Yaml\Yaml; class YamlDumperTest extends TestCase { + use ForwardCompatTestTrait; + protected static $fixturesPath; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { self::$fixturesPath = realpath(__DIR__.'/../Fixtures/'); } diff --git a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_inlined_factories.txt b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_inlined_factories.txt new file mode 100644 index 0000000000..2a9df5a967 --- /dev/null +++ b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_inlined_factories.txt @@ -0,0 +1,572 @@ +Array +( + [Container%s/removed-ids.php] => true, + 'Symfony\\Component\\DependencyInjection\\ContainerInterface' => true, + 'configurator_service' => true, + 'configurator_service_simple' => true, + 'decorated.pif-pouf' => true, + 'decorator_service.inner' => true, + 'errored_definition' => true, + 'errored_one' => true, + 'factory_simple' => true, + 'inlined' => true, + 'new_factory' => true, + 'tagged_iterator_foo' => true, +]; + + [Container%s/ProjectServiceContainer.php] => targetDirs[0] = \dirname($containerDir); + for ($i = 1; $i <= 5; ++$i) { + $this->targetDirs[$i] = $dir = \dirname($dir); + } + $this->buildParameters = $buildParameters; + $this->containerDir = $containerDir; + $this->parameters = $this->getDefaultParameters(); + + $this->services = $this->privates = []; + $this->syntheticIds = [ + 'request' => true, + ]; + $this->methodMap = [ + 'BAR' => 'getBARService', + 'BAR2' => 'getBAR2Service', + 'bar' => 'getBar3Service', + 'bar2' => 'getBar22Service', + 'baz' => 'getBazService', + 'configured_service' => 'getConfiguredServiceService', + 'configured_service_simple' => 'getConfiguredServiceSimpleService', + 'decorator_service' => 'getDecoratorServiceService', + 'decorator_service_with_name' => 'getDecoratorServiceWithNameService', + 'deprecated_service' => 'getDeprecatedServiceService', + 'factory_service' => 'getFactoryServiceService', + 'factory_service_simple' => 'getFactoryServiceSimpleService', + 'foo' => 'getFooService', + 'foo.baz' => 'getFoo_BazService', + 'foo_bar' => 'getFooBarService', + 'foo_with_inline' => 'getFooWithInlineService', + 'lazy_context' => 'getLazyContextService', + 'lazy_context_ignore_invalid_ref' => 'getLazyContextIgnoreInvalidRefService', + 'method_call1' => 'getMethodCall1Service', + 'new_factory_service' => 'getNewFactoryServiceService', + 'non_shared_foo' => 'getNonSharedFooService', + 'runtime_error' => 'getRuntimeErrorService', + 'service_from_static_method' => 'getServiceFromStaticMethodService', + 'tagged_iterator' => 'getTaggedIteratorService', + 'throwing_one' => 'getThrowingOneService', + ]; + $this->aliases = [ + 'alias_for_alias' => 'foo', + 'alias_for_foo' => 'foo', + 'decorated' => 'decorator_service_with_name', + ]; + + $this->privates['service_container'] = function () { + include_once $this->targetDirs[0].'/Fixtures/includes/foo.php'; + }; + } + + public function compile() + { + throw new LogicException('You cannot compile a dumped container that was already compiled.'); + } + + public function isCompiled() + { + return true; + } + + public function getRemovedIds() + { + return require $this->containerDir.\DIRECTORY_SEPARATOR.'removed-ids.php'; + } + + /** + * Gets the public 'BAR' shared service. + * + * @return \stdClass + */ + protected function getBARService() + { + $this->services['BAR'] = $instance = new \stdClass(); + + $instance->bar = ($this->services['bar'] ?? $this->getBar3Service()); + + return $instance; + } + + /** + * Gets the public 'BAR2' shared service. + * + * @return \stdClass + */ + protected function getBAR2Service() + { + return $this->services['BAR2'] = new \stdClass(); + } + + /** + * Gets the public 'bar' shared service. + * + * @return \Bar\FooClass + */ + protected function getBar3Service() + { + $a = ($this->services['foo.baz'] ?? $this->getFoo_BazService()); + + $this->services['bar'] = $instance = new \Bar\FooClass('foo', $a, $this->getParameter('foo_bar')); + + $a->configure($instance); + + return $instance; + } + + /** + * Gets the public 'bar2' shared service. + * + * @return \stdClass + */ + protected function getBar22Service() + { + return $this->services['bar2'] = new \stdClass(); + } + + /** + * Gets the public 'baz' shared service. + * + * @return \Baz + */ + protected function getBazService() + { + $this->services['baz'] = $instance = new \Baz(); + + $instance->setFoo(($this->services['foo_with_inline'] ?? $this->getFooWithInlineService())); + + return $instance; + } + + /** + * Gets the public 'configured_service' shared service. + * + * @return \stdClass + */ + protected function getConfiguredServiceService() + { + $this->services['configured_service'] = $instance = new \stdClass(); + + $a = new \ConfClass(); + $a->setFoo(($this->services['baz'] ?? $this->getBazService())); + + $a->configureStdClass($instance); + + return $instance; + } + + /** + * Gets the public 'configured_service_simple' shared service. + * + * @return \stdClass + */ + protected function getConfiguredServiceSimpleService() + { + $this->services['configured_service_simple'] = $instance = new \stdClass(); + + (new \ConfClass('bar'))->configureStdClass($instance); + + return $instance; + } + + /** + * Gets the public 'decorator_service' shared service. + * + * @return \stdClass + */ + protected function getDecoratorServiceService() + { + return $this->services['decorator_service'] = new \stdClass(); + } + + /** + * Gets the public 'decorator_service_with_name' shared service. + * + * @return \stdClass + */ + protected function getDecoratorServiceWithNameService() + { + return $this->services['decorator_service_with_name'] = new \stdClass(); + } + + /** + * Gets the public 'deprecated_service' shared service. + * + * @return \stdClass + * + * @deprecated The "deprecated_service" service is deprecated. You should stop using it, as it will be removed in the future. + */ + protected function getDeprecatedServiceService() + { + @trigger_error('The "deprecated_service" service is deprecated. You should stop using it, as it will be removed in the future.', E_USER_DEPRECATED); + + return $this->services['deprecated_service'] = new \stdClass(); + } + + /** + * Gets the public 'factory_service' shared service. + * + * @return \Bar + */ + protected function getFactoryServiceService() + { + return $this->services['factory_service'] = ($this->services['foo.baz'] ?? $this->getFoo_BazService())->getInstance(); + } + + /** + * Gets the public 'factory_service_simple' shared service. + * + * @return \Bar + */ + protected function getFactoryServiceSimpleService() + { + return $this->services['factory_service_simple'] = $this->getFactorySimpleService()->getInstance(); + } + + /** + * Gets the public 'foo' shared service. + * + * @return \Bar\FooClass + */ + protected function getFooService() + { + $a = ($this->services['foo.baz'] ?? $this->getFoo_BazService()); + + $this->services['foo'] = $instance = \Bar\FooClass::getInstance('foo', $a, ['bar' => 'foo is bar', 'foobar' => 'bar'], true, $this); + + $instance->foo = 'bar'; + $instance->moo = $a; + $instance->qux = ['bar' => 'foo is bar', 'foobar' => 'bar']; + $instance->setBar(($this->services['bar'] ?? $this->getBar3Service())); + $instance->initialize(); + sc_configure($instance); + + return $instance; + } + + /** + * Gets the public 'foo.baz' shared service. + * + * @return \BazClass + */ + protected function getFoo_BazService() + { + include_once $this->targetDirs[0].'/Fixtures/includes/classes.php'; + + $this->services['foo.baz'] = $instance = \BazClass::getInstance(); + + \BazClass::configureStatic1($instance); + + return $instance; + } + + /** + * Gets the public 'foo_bar' service. + * + * @return \Bar\FooClass + */ + protected function getFooBarService() + { + return new \Bar\FooClass(($this->services['deprecated_service'] ?? $this->getDeprecatedServiceService())); + } + + /** + * Gets the public 'foo_with_inline' shared service. + * + * @return \Foo + */ + protected function getFooWithInlineService() + { + $this->services['foo_with_inline'] = $instance = new \Foo(); + + $a = new \Bar(); + $a->pub = 'pub'; + $a->setBaz(($this->services['baz'] ?? $this->getBazService())); + + $instance->setBar($a); + + return $instance; + } + + /** + * Gets the public 'lazy_context' shared service. + * + * @return \LazyContext + */ + protected function getLazyContextService() + { + include_once $this->targetDirs[0].'/Fixtures/includes/classes.php'; + + return $this->services['lazy_context'] = new \LazyContext(new RewindableGenerator(function () { + yield 'k1' => ($this->services['foo.baz'] ?? $this->getFoo_BazService()); + yield 'k2' => $this; + }, 2), new RewindableGenerator(function () { + return new \EmptyIterator(); + }, 0)); + } + + /** + * Gets the public 'lazy_context_ignore_invalid_ref' shared service. + * + * @return \LazyContext + */ + protected function getLazyContextIgnoreInvalidRefService() + { + include_once $this->targetDirs[0].'/Fixtures/includes/classes.php'; + + return $this->services['lazy_context_ignore_invalid_ref'] = new \LazyContext(new RewindableGenerator(function () { + yield 0 => ($this->services['foo.baz'] ?? $this->getFoo_BazService()); + }, 1), new RewindableGenerator(function () { + return new \EmptyIterator(); + }, 0)); + } + + /** + * Gets the public 'method_call1' shared service. + * + * @return \Bar\FooClass + */ + protected function getMethodCall1Service() + { + include_once ($this->targetDirs[0].'/Fixtures/includes/foo.php'); + + $this->services['method_call1'] = $instance = new \Bar\FooClass(); + + $instance->setBar(($this->services['foo'] ?? $this->getFooService())); + $instance->setBar(NULL); + $instance->setBar((($this->services['foo'] ?? $this->getFooService())->foo() . (($this->hasParameter("foo")) ? ($this->getParameter("foo")) : ("default")))); + + return $instance; + } + + /** + * Gets the public 'new_factory_service' shared service. + * + * @return \FooBarBaz + */ + protected function getNewFactoryServiceService() + { + $a = new \FactoryClass(); + $a->foo = 'bar'; + + $this->services['new_factory_service'] = $instance = $a->getInstance(); + + $instance->foo = 'bar'; + + return $instance; + } + + /** + * Gets the public 'non_shared_foo' service. + * + * @return \Bar\FooClass + */ + protected function getNonSharedFooService() + { + include_once ($this->targetDirs[0].'/Fixtures/includes/foo.php'); + + return new \Bar\FooClass(); + } + + /** + * Gets the public 'runtime_error' shared service. + * + * @return \stdClass + */ + protected function getRuntimeErrorService() + { + return $this->services['runtime_error'] = new \stdClass($this->throw('Service "errored_definition" is broken.')); + } + + /** + * Gets the public 'service_from_static_method' shared service. + * + * @return \Bar\FooClass + */ + protected function getServiceFromStaticMethodService() + { + return $this->services['service_from_static_method'] = \Bar\FooClass::getInstance(); + } + + /** + * Gets the public 'tagged_iterator' shared service. + * + * @return \Bar + */ + protected function getTaggedIteratorService() + { + return $this->services['tagged_iterator'] = new \Bar(new RewindableGenerator(function () { + yield 0 => ($this->services['foo'] ?? $this->getFooService()); + yield 1 => ($this->privates['tagged_iterator_foo'] ?? ($this->privates['tagged_iterator_foo'] = new \Bar())); + }, 2)); + } + + /** + * Gets the public 'throwing_one' shared service. + * + * @return \Bar\FooClass + */ + protected function getThrowingOneService() + { + return $this->services['throwing_one'] = new \Bar\FooClass($this->throw('No-no-no-no')); + } + + /** + * Gets the private 'factory_simple' shared service. + * + * @return \SimpleFactoryClass + * + * @deprecated The "factory_simple" service is deprecated. You should stop using it, as it will be removed in the future. + */ + protected function getFactorySimpleService() + { + @trigger_error('The "factory_simple" service is deprecated. You should stop using it, as it will be removed in the future.', E_USER_DEPRECATED); + + return new \SimpleFactoryClass('foo'); + } + + public function getParameter($name) + { + $name = (string) $name; + if (isset($this->buildParameters[$name])) { + return $this->buildParameters[$name]; + } + + if (!(isset($this->parameters[$name]) || isset($this->loadedDynamicParameters[$name]) || array_key_exists($name, $this->parameters))) { + throw new InvalidArgumentException(sprintf('The parameter "%s" must be defined.', $name)); + } + if (isset($this->loadedDynamicParameters[$name])) { + return $this->loadedDynamicParameters[$name] ? $this->dynamicParameters[$name] : $this->getDynamicParameter($name); + } + + return $this->parameters[$name]; + } + + public function hasParameter($name) + { + $name = (string) $name; + if (isset($this->buildParameters[$name])) { + return true; + } + + return isset($this->parameters[$name]) || isset($this->loadedDynamicParameters[$name]) || array_key_exists($name, $this->parameters); + } + + public function setParameter($name, $value) + { + throw new LogicException('Impossible to call set() on a frozen ParameterBag.'); + } + + public function getParameterBag() + { + if (null === $this->parameterBag) { + $parameters = $this->parameters; + foreach ($this->loadedDynamicParameters as $name => $loaded) { + $parameters[$name] = $loaded ? $this->dynamicParameters[$name] : $this->getDynamicParameter($name); + } + foreach ($this->buildParameters as $name => $value) { + $parameters[$name] = $value; + } + $this->parameterBag = new FrozenParameterBag($parameters); + } + + return $this->parameterBag; + } + + private $loadedDynamicParameters = []; + private $dynamicParameters = []; + + /** + * Computes a dynamic parameter. + * + * @param string $name The name of the dynamic parameter to load + * + * @return mixed The value of the dynamic parameter + * + * @throws InvalidArgumentException When the dynamic parameter does not exist + */ + private function getDynamicParameter($name) + { + throw new InvalidArgumentException(sprintf('The dynamic parameter "%s" must be defined.', $name)); + } + + /** + * Gets the default parameters. + * + * @return array An array of the default parameters + */ + protected function getDefaultParameters() + { + return [ + 'baz_class' => 'BazClass', + 'foo_class' => 'Bar\\FooClass', + 'foo' => 'bar', + 'container.dumper.inline_factories' => true, + 'container.dumper.inline_class_loader' => true, + ]; + } + + protected function throw($message) + { + throw new RuntimeException($message); + } +} + + [ProjectServiceContainer.php] => '%s', + 'container.build_id' => '%s', + 'container.build_time' => 1563381341, +], __DIR__.\DIRECTORY_SEPARATOR.'Container%s'); + +) diff --git a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_lazy_inlined_factories.txt b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_lazy_inlined_factories.txt new file mode 100644 index 0000000000..7be60f7129 --- /dev/null +++ b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_lazy_inlined_factories.txt @@ -0,0 +1,206 @@ +Array +( + [Container%s/removed-ids.php] => true, + 'Symfony\\Component\\DependencyInjection\\ContainerInterface' => true, +]; + + [Container%s/ProjectServiceContainer.php] => targetDirs[0] = \dirname($containerDir); + for ($i = 1; $i <= 5; ++$i) { + $this->targetDirs[$i] = $dir = \dirname($dir); + } + $this->buildParameters = $buildParameters; + $this->containerDir = $containerDir; + $this->parameters = $this->getDefaultParameters(); + + $this->services = $this->privates = []; + $this->methodMap = [ + 'lazy_foo' => 'getLazyFooService', + ]; + + $this->aliases = []; + } + + public function compile() + { + throw new LogicException('You cannot compile a dumped container that was already compiled.'); + } + + public function isCompiled() + { + return true; + } + + public function getRemovedIds() + { + return require $this->containerDir.\DIRECTORY_SEPARATOR.'removed-ids.php'; + } + + protected function createProxy($class, \Closure $factory) + { + class_exists($class, false) || class_alias(__NAMESPACE__."\\$class", $class, false); + + return $factory(); + } + + /** + * Gets the public 'lazy_foo' shared service. + * + * @return \Bar\FooClass + */ + protected function getLazyFooService($lazyLoad = true) + { + if ($lazyLoad) { + return $this->services['lazy_foo'] = $this->createProxy('FooClass_%s', function () { + return \FooClass_%s::staticProxyConstructor(function (&$wrappedInstance, \ProxyManager\Proxy\LazyLoadingInterface $proxy) { + $wrappedInstance = $this->getLazyFooService(false); + + $proxy->setProxyInitializer(null); + + return true; + }); + }); + } + + include_once $this->targetDirs[0].'/Fixtures/includes/foo_lazy.php'; + + return new \Bar\FooClass(new \Bar\FooLazyClass()); + } + + public function getParameter($name) + { + $name = (string) $name; + if (isset($this->buildParameters[$name])) { + return $this->buildParameters[$name]; + } + + if (!(isset($this->parameters[$name]) || isset($this->loadedDynamicParameters[$name]) || array_key_exists($name, $this->parameters))) { + throw new InvalidArgumentException(sprintf('The parameter "%s" must be defined.', $name)); + } + if (isset($this->loadedDynamicParameters[$name])) { + return $this->loadedDynamicParameters[$name] ? $this->dynamicParameters[$name] : $this->getDynamicParameter($name); + } + + return $this->parameters[$name]; + } + + public function hasParameter($name) + { + $name = (string) $name; + if (isset($this->buildParameters[$name])) { + return true; + } + + return isset($this->parameters[$name]) || isset($this->loadedDynamicParameters[$name]) || array_key_exists($name, $this->parameters); + } + + public function setParameter($name, $value) + { + throw new LogicException('Impossible to call set() on a frozen ParameterBag.'); + } + + public function getParameterBag() + { + if (null === $this->parameterBag) { + $parameters = $this->parameters; + foreach ($this->loadedDynamicParameters as $name => $loaded) { + $parameters[$name] = $loaded ? $this->dynamicParameters[$name] : $this->getDynamicParameter($name); + } + foreach ($this->buildParameters as $name => $value) { + $parameters[$name] = $value; + } + $this->parameterBag = new FrozenParameterBag($parameters); + } + + return $this->parameterBag; + } + + private $loadedDynamicParameters = []; + private $dynamicParameters = []; + + /** + * Computes a dynamic parameter. + * + * @param string $name The name of the dynamic parameter to load + * + * @return mixed The value of the dynamic parameter + * + * @throws InvalidArgumentException When the dynamic parameter does not exist + */ + private function getDynamicParameter($name) + { + throw new InvalidArgumentException(sprintf('The dynamic parameter "%s" must be defined.', $name)); + } + + /** + * Gets the default parameters. + * + * @return array An array of the default parameters + */ + protected function getDefaultParameters() + { + return [ + 'container.dumper.inline_factories' => true, + 'container.dumper.inline_class_loader' => true, + ]; + } +} +include_once \dirname(__DIR__, 1 + 0).'/Fixtures/includes/foo.php'; + +class FooClass_%s extends \Bar\FooClass implements \ProxyManager\Proxy\VirtualProxyInterface +{ +%A +} + + [ProjectServiceContainer.php] => '%s', + 'container.build_id' => '%s', + 'container.build_time' => 1563381341, +], __DIR__.\DIRECTORY_SEPARATOR.'Container%s'); + +) diff --git a/src/Symfony/Component/DependencyInjection/Tests/Loader/DirectoryLoaderTest.php b/src/Symfony/Component/DependencyInjection/Tests/Loader/DirectoryLoaderTest.php index c7c303b683..8de0b7d0de 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Loader/DirectoryLoaderTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Loader/DirectoryLoaderTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\DependencyInjection\Tests\Loader; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Config\FileLocator; use Symfony\Component\Config\Loader\LoaderResolver; use Symfony\Component\DependencyInjection\ContainerBuilder; @@ -22,17 +23,19 @@ use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; class DirectoryLoaderTest extends TestCase { + use ForwardCompatTestTrait; + private static $fixturesPath; private $container; private $loader; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { self::$fixturesPath = realpath(__DIR__.'/../Fixtures/'); } - protected function setUp() + private function doSetUp() { $locator = new FileLocator(self::$fixturesPath); $this->container = new ContainerBuilder(); diff --git a/src/Symfony/Component/DependencyInjection/Tests/Loader/FileLoaderTest.php b/src/Symfony/Component/DependencyInjection/Tests/Loader/FileLoaderTest.php index ce9e4f0b93..875df03f66 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Loader/FileLoaderTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Loader/FileLoaderTest.php @@ -13,6 +13,7 @@ namespace Symfony\Component\DependencyInjection\Tests\Loader; use PHPUnit\Framework\TestCase; use Psr\Container\ContainerInterface as PsrContainerInterface; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Config\FileLocator; use Symfony\Component\Config\Loader\LoaderResolver; use Symfony\Component\DependencyInjection\ContainerBuilder; @@ -34,9 +35,11 @@ use Symfony\Component\DependencyInjection\Tests\Fixtures\Prototype\Sub\BarInterf class FileLoaderTest extends TestCase { + use ForwardCompatTestTrait; + protected static $fixturesPath; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { self::$fixturesPath = realpath(__DIR__.'/../'); } diff --git a/src/Symfony/Component/DependencyInjection/Tests/Loader/IniFileLoaderTest.php b/src/Symfony/Component/DependencyInjection/Tests/Loader/IniFileLoaderTest.php index ce8641c750..ac3b38a64c 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Loader/IniFileLoaderTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Loader/IniFileLoaderTest.php @@ -12,16 +12,19 @@ namespace Symfony\Component\DependencyInjection\Tests\Loader; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Loader\IniFileLoader; class IniFileLoaderTest extends TestCase { + use ForwardCompatTestTrait; + protected $container; protected $loader; - protected function setUp() + private function doSetUp() { $this->container = new ContainerBuilder(); $this->loader = new IniFileLoader($this->container, new FileLocator(realpath(__DIR__.'/../Fixtures/').'/ini')); diff --git a/src/Symfony/Component/DependencyInjection/Tests/Loader/LoaderResolverTest.php b/src/Symfony/Component/DependencyInjection/Tests/Loader/LoaderResolverTest.php index 9167e18ced..3200e34480 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Loader/LoaderResolverTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Loader/LoaderResolverTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\DependencyInjection\Tests\Loader; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Config\FileLocator; use Symfony\Component\Config\Loader\LoaderResolver; use Symfony\Component\DependencyInjection\ContainerBuilder; @@ -23,12 +24,14 @@ use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; class LoaderResolverTest extends TestCase { + use ForwardCompatTestTrait; + private static $fixturesPath; /** @var LoaderResolver */ private $resolver; - protected function setUp() + private function doSetUp() { self::$fixturesPath = realpath(__DIR__.'/../Fixtures/'); diff --git a/src/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php b/src/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php index 2ca7866cd2..0a5ac45a8f 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\DependencyInjection\Tests\Loader; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Config\FileLocator; use Symfony\Component\Config\Loader\LoaderResolver; use Symfony\Component\Config\Resource\FileResource; @@ -36,9 +37,11 @@ use Symfony\Component\ExpressionLanguage\Expression; class XmlFileLoaderTest extends TestCase { + use ForwardCompatTestTrait; + protected static $fixturesPath; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { self::$fixturesPath = realpath(__DIR__.'/../Fixtures/'); require_once self::$fixturesPath.'/includes/foo.php'; diff --git a/src/Symfony/Component/DependencyInjection/Tests/Loader/YamlFileLoaderTest.php b/src/Symfony/Component/DependencyInjection/Tests/Loader/YamlFileLoaderTest.php index 9f9f3ac42f..3aeb666cb3 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Loader/YamlFileLoaderTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Loader/YamlFileLoaderTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\DependencyInjection\Tests\Loader; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Config\FileLocator; use Symfony\Component\Config\Loader\LoaderResolver; use Symfony\Component\Config\Resource\FileResource; @@ -37,9 +38,11 @@ use Symfony\Component\ExpressionLanguage\Expression; class YamlFileLoaderTest extends TestCase { + use ForwardCompatTestTrait; + protected static $fixturesPath; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { self::$fixturesPath = realpath(__DIR__.'/../Fixtures/'); require_once self::$fixturesPath.'/includes/foo.php'; diff --git a/src/Symfony/Component/DomCrawler/Tests/FormTest.php b/src/Symfony/Component/DomCrawler/Tests/FormTest.php index f5827f0643..d569eb203d 100644 --- a/src/Symfony/Component/DomCrawler/Tests/FormTest.php +++ b/src/Symfony/Component/DomCrawler/Tests/FormTest.php @@ -12,12 +12,15 @@ namespace Symfony\Component\DomCrawler\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\DomCrawler\Form; use Symfony\Component\DomCrawler\FormFieldRegistry; class FormTest extends TestCase { - public static function setUpBeforeClass() + use ForwardCompatTestTrait; + + private static function doSetUpBeforeClass() { // Ensure that the private helper class FormFieldRegistry is loaded class_exists('Symfony\\Component\\DomCrawler\\Form'); diff --git a/src/Symfony/Component/EventDispatcher/Tests/AbstractEventDispatcherTest.php b/src/Symfony/Component/EventDispatcher/Tests/AbstractEventDispatcherTest.php new file mode 100644 index 0000000000..2974fd2bb5 --- /dev/null +++ b/src/Symfony/Component/EventDispatcher/Tests/AbstractEventDispatcherTest.php @@ -0,0 +1,445 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\EventDispatcher\Tests; + +use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; +use Symfony\Component\EventDispatcher\Event; +use Symfony\Component\EventDispatcher\EventDispatcher; +use Symfony\Component\EventDispatcher\EventSubscriberInterface; + +abstract class AbstractEventDispatcherTest extends TestCase +{ + use ForwardCompatTestTrait; + + /* Some pseudo events */ + const preFoo = 'pre.foo'; + const postFoo = 'post.foo'; + const preBar = 'pre.bar'; + const postBar = 'post.bar'; + + /** + * @var EventDispatcher + */ + private $dispatcher; + + private $listener; + + private function doSetUp() + { + $this->dispatcher = $this->createEventDispatcher(); + $this->listener = new TestEventListener(); + } + + private function doTearDown() + { + $this->dispatcher = null; + $this->listener = null; + } + + abstract protected function createEventDispatcher(); + + public function testInitialState() + { + $this->assertEquals([], $this->dispatcher->getListeners()); + $this->assertFalse($this->dispatcher->hasListeners(self::preFoo)); + $this->assertFalse($this->dispatcher->hasListeners(self::postFoo)); + } + + public function testAddListener() + { + $this->dispatcher->addListener('pre.foo', [$this->listener, 'preFoo']); + $this->dispatcher->addListener('post.foo', [$this->listener, 'postFoo']); + $this->assertTrue($this->dispatcher->hasListeners()); + $this->assertTrue($this->dispatcher->hasListeners(self::preFoo)); + $this->assertTrue($this->dispatcher->hasListeners(self::postFoo)); + $this->assertCount(1, $this->dispatcher->getListeners(self::preFoo)); + $this->assertCount(1, $this->dispatcher->getListeners(self::postFoo)); + $this->assertCount(2, $this->dispatcher->getListeners()); + } + + public function testGetListenersSortsByPriority() + { + $listener1 = new TestEventListener(); + $listener2 = new TestEventListener(); + $listener3 = new TestEventListener(); + $listener1->name = '1'; + $listener2->name = '2'; + $listener3->name = '3'; + + $this->dispatcher->addListener('pre.foo', [$listener1, 'preFoo'], -10); + $this->dispatcher->addListener('pre.foo', [$listener2, 'preFoo'], 10); + $this->dispatcher->addListener('pre.foo', [$listener3, 'preFoo']); + + $expected = [ + [$listener2, 'preFoo'], + [$listener3, 'preFoo'], + [$listener1, 'preFoo'], + ]; + + $this->assertSame($expected, $this->dispatcher->getListeners('pre.foo')); + } + + public function testGetAllListenersSortsByPriority() + { + $listener1 = new TestEventListener(); + $listener2 = new TestEventListener(); + $listener3 = new TestEventListener(); + $listener4 = new TestEventListener(); + $listener5 = new TestEventListener(); + $listener6 = new TestEventListener(); + + $this->dispatcher->addListener('pre.foo', $listener1, -10); + $this->dispatcher->addListener('pre.foo', $listener2); + $this->dispatcher->addListener('pre.foo', $listener3, 10); + $this->dispatcher->addListener('post.foo', $listener4, -10); + $this->dispatcher->addListener('post.foo', $listener5); + $this->dispatcher->addListener('post.foo', $listener6, 10); + + $expected = [ + 'pre.foo' => [$listener3, $listener2, $listener1], + 'post.foo' => [$listener6, $listener5, $listener4], + ]; + + $this->assertSame($expected, $this->dispatcher->getListeners()); + } + + public function testGetListenerPriority() + { + $listener1 = new TestEventListener(); + $listener2 = new TestEventListener(); + + $this->dispatcher->addListener('pre.foo', $listener1, -10); + $this->dispatcher->addListener('pre.foo', $listener2); + + $this->assertSame(-10, $this->dispatcher->getListenerPriority('pre.foo', $listener1)); + $this->assertSame(0, $this->dispatcher->getListenerPriority('pre.foo', $listener2)); + $this->assertNull($this->dispatcher->getListenerPriority('pre.bar', $listener2)); + $this->assertNull($this->dispatcher->getListenerPriority('pre.foo', function () {})); + } + + public function testDispatch() + { + $this->dispatcher->addListener('pre.foo', [$this->listener, 'preFoo']); + $this->dispatcher->addListener('post.foo', [$this->listener, 'postFoo']); + $this->dispatcher->dispatch(self::preFoo); + $this->assertTrue($this->listener->preFooInvoked); + $this->assertFalse($this->listener->postFooInvoked); + $this->assertInstanceOf('Symfony\Component\EventDispatcher\Event', $this->dispatcher->dispatch('noevent')); + $this->assertInstanceOf('Symfony\Component\EventDispatcher\Event', $this->dispatcher->dispatch(self::preFoo)); + $event = new Event(); + $return = $this->dispatcher->dispatch(self::preFoo, $event); + $this->assertSame($event, $return); + } + + public function testDispatchForClosure() + { + $invoked = 0; + $listener = function () use (&$invoked) { + ++$invoked; + }; + $this->dispatcher->addListener('pre.foo', $listener); + $this->dispatcher->addListener('post.foo', $listener); + $this->dispatcher->dispatch(self::preFoo); + $this->assertEquals(1, $invoked); + } + + public function testStopEventPropagation() + { + $otherListener = new TestEventListener(); + + // postFoo() stops the propagation, so only one listener should + // be executed + // Manually set priority to enforce $this->listener to be called first + $this->dispatcher->addListener('post.foo', [$this->listener, 'postFoo'], 10); + $this->dispatcher->addListener('post.foo', [$otherListener, 'postFoo']); + $this->dispatcher->dispatch(self::postFoo); + $this->assertTrue($this->listener->postFooInvoked); + $this->assertFalse($otherListener->postFooInvoked); + } + + public function testDispatchByPriority() + { + $invoked = []; + $listener1 = function () use (&$invoked) { + $invoked[] = '1'; + }; + $listener2 = function () use (&$invoked) { + $invoked[] = '2'; + }; + $listener3 = function () use (&$invoked) { + $invoked[] = '3'; + }; + $this->dispatcher->addListener('pre.foo', $listener1, -10); + $this->dispatcher->addListener('pre.foo', $listener2); + $this->dispatcher->addListener('pre.foo', $listener3, 10); + $this->dispatcher->dispatch(self::preFoo); + $this->assertEquals(['3', '2', '1'], $invoked); + } + + public function testRemoveListener() + { + $this->dispatcher->addListener('pre.bar', $this->listener); + $this->assertTrue($this->dispatcher->hasListeners(self::preBar)); + $this->dispatcher->removeListener('pre.bar', $this->listener); + $this->assertFalse($this->dispatcher->hasListeners(self::preBar)); + $this->dispatcher->removeListener('notExists', $this->listener); + } + + public function testAddSubscriber() + { + $eventSubscriber = new TestEventSubscriber(); + $this->dispatcher->addSubscriber($eventSubscriber); + $this->assertTrue($this->dispatcher->hasListeners(self::preFoo)); + $this->assertTrue($this->dispatcher->hasListeners(self::postFoo)); + } + + public function testAddSubscriberWithPriorities() + { + $eventSubscriber = new TestEventSubscriber(); + $this->dispatcher->addSubscriber($eventSubscriber); + + $eventSubscriber = new TestEventSubscriberWithPriorities(); + $this->dispatcher->addSubscriber($eventSubscriber); + + $listeners = $this->dispatcher->getListeners('pre.foo'); + $this->assertTrue($this->dispatcher->hasListeners(self::preFoo)); + $this->assertCount(2, $listeners); + $this->assertInstanceOf('Symfony\Component\EventDispatcher\Tests\TestEventSubscriberWithPriorities', $listeners[0][0]); + } + + public function testAddSubscriberWithMultipleListeners() + { + $eventSubscriber = new TestEventSubscriberWithMultipleListeners(); + $this->dispatcher->addSubscriber($eventSubscriber); + + $listeners = $this->dispatcher->getListeners('pre.foo'); + $this->assertTrue($this->dispatcher->hasListeners(self::preFoo)); + $this->assertCount(2, $listeners); + $this->assertEquals('preFoo2', $listeners[0][1]); + } + + public function testRemoveSubscriber() + { + $eventSubscriber = new TestEventSubscriber(); + $this->dispatcher->addSubscriber($eventSubscriber); + $this->assertTrue($this->dispatcher->hasListeners(self::preFoo)); + $this->assertTrue($this->dispatcher->hasListeners(self::postFoo)); + $this->dispatcher->removeSubscriber($eventSubscriber); + $this->assertFalse($this->dispatcher->hasListeners(self::preFoo)); + $this->assertFalse($this->dispatcher->hasListeners(self::postFoo)); + } + + public function testRemoveSubscriberWithPriorities() + { + $eventSubscriber = new TestEventSubscriberWithPriorities(); + $this->dispatcher->addSubscriber($eventSubscriber); + $this->assertTrue($this->dispatcher->hasListeners(self::preFoo)); + $this->dispatcher->removeSubscriber($eventSubscriber); + $this->assertFalse($this->dispatcher->hasListeners(self::preFoo)); + } + + public function testRemoveSubscriberWithMultipleListeners() + { + $eventSubscriber = new TestEventSubscriberWithMultipleListeners(); + $this->dispatcher->addSubscriber($eventSubscriber); + $this->assertTrue($this->dispatcher->hasListeners(self::preFoo)); + $this->assertCount(2, $this->dispatcher->getListeners(self::preFoo)); + $this->dispatcher->removeSubscriber($eventSubscriber); + $this->assertFalse($this->dispatcher->hasListeners(self::preFoo)); + } + + public function testEventReceivesTheDispatcherInstanceAsArgument() + { + $listener = new TestWithDispatcher(); + $this->dispatcher->addListener('test', [$listener, 'foo']); + $this->assertNull($listener->name); + $this->assertNull($listener->dispatcher); + $this->dispatcher->dispatch('test'); + $this->assertEquals('test', $listener->name); + $this->assertSame($this->dispatcher, $listener->dispatcher); + } + + /** + * @see https://bugs.php.net/bug.php?id=62976 + * + * This bug affects: + * - The PHP 5.3 branch for versions < 5.3.18 + * - The PHP 5.4 branch for versions < 5.4.8 + * - The PHP 5.5 branch is not affected + */ + public function testWorkaroundForPhpBug62976() + { + $dispatcher = $this->createEventDispatcher(); + $dispatcher->addListener('bug.62976', new CallableClass()); + $dispatcher->removeListener('bug.62976', function () {}); + $this->assertTrue($dispatcher->hasListeners('bug.62976')); + } + + public function testHasListenersWhenAddedCallbackListenerIsRemoved() + { + $listener = function () {}; + $this->dispatcher->addListener('foo', $listener); + $this->dispatcher->removeListener('foo', $listener); + $this->assertFalse($this->dispatcher->hasListeners()); + } + + public function testGetListenersWhenAddedCallbackListenerIsRemoved() + { + $listener = function () {}; + $this->dispatcher->addListener('foo', $listener); + $this->dispatcher->removeListener('foo', $listener); + $this->assertSame([], $this->dispatcher->getListeners()); + } + + public function testHasListenersWithoutEventsReturnsFalseAfterHasListenersWithEventHasBeenCalled() + { + $this->assertFalse($this->dispatcher->hasListeners('foo')); + $this->assertFalse($this->dispatcher->hasListeners()); + } + + public function testHasListenersIsLazy() + { + $called = 0; + $listener = [function () use (&$called) { ++$called; }, 'onFoo']; + $this->dispatcher->addListener('foo', $listener); + $this->assertTrue($this->dispatcher->hasListeners()); + $this->assertTrue($this->dispatcher->hasListeners('foo')); + $this->assertSame(0, $called); + } + + public function testDispatchLazyListener() + { + $called = 0; + $factory = function () use (&$called) { + ++$called; + + return new TestWithDispatcher(); + }; + $this->dispatcher->addListener('foo', [$factory, 'foo']); + $this->assertSame(0, $called); + $this->dispatcher->dispatch('foo', new Event()); + $this->dispatcher->dispatch('foo', new Event()); + $this->assertSame(1, $called); + } + + public function testRemoveFindsLazyListeners() + { + $test = new TestWithDispatcher(); + $factory = function () use ($test) { return $test; }; + + $this->dispatcher->addListener('foo', [$factory, 'foo']); + $this->assertTrue($this->dispatcher->hasListeners('foo')); + $this->dispatcher->removeListener('foo', [$test, 'foo']); + $this->assertFalse($this->dispatcher->hasListeners('foo')); + + $this->dispatcher->addListener('foo', [$test, 'foo']); + $this->assertTrue($this->dispatcher->hasListeners('foo')); + $this->dispatcher->removeListener('foo', [$factory, 'foo']); + $this->assertFalse($this->dispatcher->hasListeners('foo')); + } + + public function testPriorityFindsLazyListeners() + { + $test = new TestWithDispatcher(); + $factory = function () use ($test) { return $test; }; + + $this->dispatcher->addListener('foo', [$factory, 'foo'], 3); + $this->assertSame(3, $this->dispatcher->getListenerPriority('foo', [$test, 'foo'])); + $this->dispatcher->removeListener('foo', [$factory, 'foo']); + + $this->dispatcher->addListener('foo', [$test, 'foo'], 5); + $this->assertSame(5, $this->dispatcher->getListenerPriority('foo', [$factory, 'foo'])); + } + + public function testGetLazyListeners() + { + $test = new TestWithDispatcher(); + $factory = function () use ($test) { return $test; }; + + $this->dispatcher->addListener('foo', [$factory, 'foo'], 3); + $this->assertSame([[$test, 'foo']], $this->dispatcher->getListeners('foo')); + + $this->dispatcher->removeListener('foo', [$test, 'foo']); + $this->dispatcher->addListener('bar', [$factory, 'foo'], 3); + $this->assertSame(['bar' => [[$test, 'foo']]], $this->dispatcher->getListeners()); + } +} + +class CallableClass +{ + public function __invoke() + { + } +} + +class TestEventListener +{ + public $preFooInvoked = false; + public $postFooInvoked = false; + + /* Listener methods */ + + public function preFoo(Event $e) + { + $this->preFooInvoked = true; + } + + public function postFoo(Event $e) + { + $this->postFooInvoked = true; + + $e->stopPropagation(); + } +} + +class TestWithDispatcher +{ + public $name; + public $dispatcher; + + public function foo(Event $e, $name, $dispatcher) + { + $this->name = $name; + $this->dispatcher = $dispatcher; + } +} + +class TestEventSubscriber implements EventSubscriberInterface +{ + public static function getSubscribedEvents() + { + return ['pre.foo' => 'preFoo', 'post.foo' => 'postFoo']; + } +} + +class TestEventSubscriberWithPriorities implements EventSubscriberInterface +{ + public static function getSubscribedEvents() + { + return [ + 'pre.foo' => ['preFoo', 10], + 'post.foo' => ['postFoo'], + ]; + } +} + +class TestEventSubscriberWithMultipleListeners implements EventSubscriberInterface +{ + public static function getSubscribedEvents() + { + return ['pre.foo' => [ + ['preFoo1'], + ['preFoo2', 10], + ]]; + } +} diff --git a/src/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php b/src/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php index e9e011a29d..dfcd2431ec 100644 --- a/src/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php +++ b/src/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\EventDispatcher\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\EventDispatcher\GenericEvent; /** @@ -19,6 +20,8 @@ use Symfony\Component\EventDispatcher\GenericEvent; */ class GenericEventTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var GenericEvent */ @@ -29,7 +32,7 @@ class GenericEventTest extends TestCase /** * Prepares the environment before running a test. */ - protected function setUp() + private function doSetUp() { $this->subject = new \stdClass(); $this->event = new GenericEvent($this->subject, ['name' => 'Event']); @@ -38,7 +41,7 @@ class GenericEventTest extends TestCase /** * Cleans up the environment after running a test. */ - protected function tearDown() + private function doTearDown() { $this->subject = null; $this->event = null; diff --git a/src/Symfony/Component/EventDispatcher/Tests/ImmutableEventDispatcherTest.php b/src/Symfony/Component/EventDispatcher/Tests/ImmutableEventDispatcherTest.php index 15a40e8614..3b519dd45f 100644 --- a/src/Symfony/Component/EventDispatcher/Tests/ImmutableEventDispatcherTest.php +++ b/src/Symfony/Component/EventDispatcher/Tests/ImmutableEventDispatcherTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\EventDispatcher\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\EventDispatcher\ImmutableEventDispatcher; use Symfony\Contracts\EventDispatcher\Event; @@ -20,6 +21,8 @@ use Symfony\Contracts\EventDispatcher\Event; */ class ImmutableEventDispatcherTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var \PHPUnit_Framework_MockObject_MockObject */ @@ -30,7 +33,7 @@ class ImmutableEventDispatcherTest extends TestCase */ private $dispatcher; - protected function setUp() + private function doSetUp() { $this->innerDispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcherInterface')->getMock(); $this->dispatcher = new ImmutableEventDispatcher($this->innerDispatcher); diff --git a/src/Symfony/Component/ExpressionLanguage/Tests/LexerTest.php b/src/Symfony/Component/ExpressionLanguage/Tests/LexerTest.php index ba35e7d19a..d94dd74f06 100644 --- a/src/Symfony/Component/ExpressionLanguage/Tests/LexerTest.php +++ b/src/Symfony/Component/ExpressionLanguage/Tests/LexerTest.php @@ -12,18 +12,21 @@ namespace Symfony\Component\ExpressionLanguage\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\ExpressionLanguage\Lexer; use Symfony\Component\ExpressionLanguage\Token; use Symfony\Component\ExpressionLanguage\TokenStream; class LexerTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var Lexer */ private $lexer; - protected function setUp() + private function doSetUp() { $this->lexer = new Lexer(); } diff --git a/src/Symfony/Component/Filesystem/Tests/FilesystemTestCase.php b/src/Symfony/Component/Filesystem/Tests/FilesystemTestCase.php index eb6b35ddfd..b3fd67cbe8 100644 --- a/src/Symfony/Component/Filesystem/Tests/FilesystemTestCase.php +++ b/src/Symfony/Component/Filesystem/Tests/FilesystemTestCase.php @@ -12,10 +12,13 @@ namespace Symfony\Component\Filesystem\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Filesystem\Filesystem; class FilesystemTestCase extends TestCase { + use ForwardCompatTestTrait; + private $umask; protected $longPathNamesWindows = []; @@ -40,7 +43,7 @@ class FilesystemTestCase extends TestCase */ private static $symlinkOnWindows = null; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { if ('\\' === \DIRECTORY_SEPARATOR) { self::$linkOnWindows = true; @@ -69,7 +72,7 @@ class FilesystemTestCase extends TestCase } } - protected function setUp() + private function doSetUp() { $this->umask = umask(0); $this->filesystem = new Filesystem(); @@ -78,7 +81,7 @@ class FilesystemTestCase extends TestCase $this->workspace = realpath($this->workspace); } - protected function tearDown() + private function doTearDown() { if (!empty($this->longPathNamesWindows)) { foreach ($this->longPathNamesWindows as $path) { diff --git a/src/Symfony/Component/Finder/Tests/Iterator/RealIteratorTestCase.php b/src/Symfony/Component/Finder/Tests/Iterator/RealIteratorTestCase.php index 4f4ba016a7..fdd8fd4679 100644 --- a/src/Symfony/Component/Finder/Tests/Iterator/RealIteratorTestCase.php +++ b/src/Symfony/Component/Finder/Tests/Iterator/RealIteratorTestCase.php @@ -11,12 +11,16 @@ namespace Symfony\Component\Finder\Tests\Iterator; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; + abstract class RealIteratorTestCase extends IteratorTestCase { + use ForwardCompatTestTrait; + protected static $tmpDir; protected static $files; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { self::$tmpDir = realpath(sys_get_temp_dir()).\DIRECTORY_SEPARATOR.'symfony_finder'; @@ -69,7 +73,7 @@ abstract class RealIteratorTestCase extends IteratorTestCase touch(self::toAbsolute('test.php'), strtotime('2005-10-15')); } - public static function tearDownAfterClass() + private static function doTearDownAfterClass() { $paths = new \RecursiveIteratorIterator( new \RecursiveDirectoryIterator(self::$tmpDir, \RecursiveDirectoryIterator::SKIP_DOTS), diff --git a/src/Symfony/Component/Form/FormErrorIterator.php b/src/Symfony/Component/Form/FormErrorIterator.php index db1d311a30..a565d227c2 100644 --- a/src/Symfony/Component/Form/FormErrorIterator.php +++ b/src/Symfony/Component/Form/FormErrorIterator.php @@ -70,7 +70,7 @@ class FormErrorIterator implements \RecursiveIterator, \SeekableIterator, \Array if ($error instanceof FormError) { $string .= 'ERROR: '.$error->getMessage()."\n"; } else { - /** @var self $error */ + /* @var self $error */ $string .= $error->form->getName().":\n"; $string .= self::indent((string) $error); } diff --git a/src/Symfony/Component/Form/Test/FormIntegrationTestCase.php b/src/Symfony/Component/Form/Test/FormIntegrationTestCase.php index b50d943779..eabf82d161 100644 --- a/src/Symfony/Component/Form/Test/FormIntegrationTestCase.php +++ b/src/Symfony/Component/Form/Test/FormIntegrationTestCase.php @@ -20,7 +20,7 @@ use Symfony\Component\Form\Forms; */ abstract class FormIntegrationTestCase extends TestCase { - use TestCaseSetUpTearDownTrait; + use ForwardCompatTestTrait; /** * @var FormFactoryInterface diff --git a/src/Symfony/Component/Form/Test/TestCaseSetUpTearDownTrait.php b/src/Symfony/Component/Form/Test/ForwardCompatTestTrait.php similarity index 94% rename from src/Symfony/Component/Form/Test/TestCaseSetUpTearDownTrait.php rename to src/Symfony/Component/Form/Test/ForwardCompatTestTrait.php index 30d41059b2..82e531d030 100644 --- a/src/Symfony/Component/Form/Test/TestCaseSetUpTearDownTrait.php +++ b/src/Symfony/Component/Form/Test/ForwardCompatTestTrait.php @@ -19,7 +19,7 @@ if ((new \ReflectionMethod(TestCase::class, 'tearDown'))->hasReturnType()) { /** * @internal */ - trait TestCaseSetUpTearDownTrait + trait ForwardCompatTestTrait { private function doSetUp(): void { @@ -43,7 +43,7 @@ if ((new \ReflectionMethod(TestCase::class, 'tearDown'))->hasReturnType()) { /** * @internal */ - trait TestCaseSetUpTearDownTrait + trait ForwardCompatTestTrait { /** * @return void diff --git a/src/Symfony/Component/Form/Test/TypeTestCase.php b/src/Symfony/Component/Form/Test/TypeTestCase.php index 76074d133f..51e6b85c6e 100644 --- a/src/Symfony/Component/Form/Test/TypeTestCase.php +++ b/src/Symfony/Component/Form/Test/TypeTestCase.php @@ -17,7 +17,7 @@ use Symfony\Component\Form\Test\Traits\ValidatorExtensionTrait; abstract class TypeTestCase extends FormIntegrationTestCase { - use TestCaseSetUpTearDownTrait; + use ForwardCompatTestTrait; /** * @var FormBuilder diff --git a/src/Symfony/Component/Form/Tests/AbstractFormTest.php b/src/Symfony/Component/Form/Tests/AbstractFormTest.php index 00d9e0fbd4..0a3edfee30 100644 --- a/src/Symfony/Component/Form/Tests/AbstractFormTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractFormTest.php @@ -12,12 +12,15 @@ namespace Symfony\Component\Form\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\Form\FormBuilder; abstract class AbstractFormTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var EventDispatcherInterface */ @@ -33,14 +36,14 @@ abstract class AbstractFormTest extends TestCase */ protected $form; - protected function setUp() + private function doSetUp() { $this->dispatcher = new EventDispatcher(); $this->factory = $this->getMockBuilder('Symfony\Component\Form\FormFactoryInterface')->getMock(); $this->form = $this->createForm(); } - protected function tearDown() + private function doTearDown() { $this->dispatcher = null; $this->factory = null; diff --git a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php index 1d1ff321b7..5b2b0f6b74 100644 --- a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests; use PHPUnit\Framework\SkippedTestError; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\Extension\Core\Type\PercentType; use Symfony\Component\Form\Extension\Csrf\CsrfExtension; use Symfony\Component\Form\FormError; @@ -20,12 +21,13 @@ use Symfony\Component\Form\Test\FormIntegrationTestCase; abstract class AbstractLayoutTest extends FormIntegrationTestCase { + use ForwardCompatTestTrait; use VersionAwareTest; protected $csrfTokenManager; protected $testableFeatures = []; - protected function setUp() + private function doSetUp() { if (!\extension_loaded('intl')) { $this->markTestSkipped('Extension intl is required.'); @@ -45,7 +47,7 @@ abstract class AbstractLayoutTest extends FormIntegrationTestCase ]; } - protected function tearDown() + private function doTearDown() { $this->csrfTokenManager = null; diff --git a/src/Symfony/Component/Form/Tests/AbstractRequestHandlerTest.php b/src/Symfony/Component/Form/Tests/AbstractRequestHandlerTest.php index f2ee71b342..36126dcb08 100644 --- a/src/Symfony/Component/Form/Tests/AbstractRequestHandlerTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractRequestHandlerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\Form\Extension\Core\DataMapper\PropertyPathMapper; use Symfony\Component\Form\Form; @@ -26,6 +27,8 @@ use Symfony\Component\Form\RequestHandlerInterface; */ abstract class AbstractRequestHandlerTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var RequestHandlerInterface */ @@ -40,7 +43,7 @@ abstract class AbstractRequestHandlerTest extends TestCase protected $serverParams; - protected function setUp() + private function doSetUp() { $this->serverParams = $this->getMockBuilder('Symfony\Component\Form\Util\ServerParams')->setMethods(['getNormalizedIniPostMaxSize', 'getContentLength'])->getMock(); $this->requestHandler = $this->getRequestHandler(); diff --git a/src/Symfony/Component/Form/Tests/ButtonTest.php b/src/Symfony/Component/Form/Tests/ButtonTest.php index 8c1ccec75c..7f4344fe63 100644 --- a/src/Symfony/Component/Form/Tests/ButtonTest.php +++ b/src/Symfony/Component/Form/Tests/ButtonTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\ButtonBuilder; use Symfony\Component\Form\FormBuilder; @@ -20,11 +21,13 @@ use Symfony\Component\Form\FormBuilder; */ class ButtonTest extends TestCase { + use ForwardCompatTestTrait; + private $dispatcher; private $factory; - protected function setUp() + private function doSetUp() { $this->dispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcherInterface')->getMock(); $this->factory = $this->getMockBuilder('Symfony\Component\Form\FormFactoryInterface')->getMock(); diff --git a/src/Symfony/Component/Form/Tests/ChoiceList/AbstractChoiceListTest.php b/src/Symfony/Component/Form/Tests/ChoiceList/AbstractChoiceListTest.php index aca967daba..3c5290cd86 100644 --- a/src/Symfony/Component/Form/Tests/ChoiceList/AbstractChoiceListTest.php +++ b/src/Symfony/Component/Form/Tests/ChoiceList/AbstractChoiceListTest.php @@ -12,12 +12,15 @@ namespace Symfony\Component\Form\Tests\ChoiceList; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; /** * @author Bernhard Schussek */ abstract class AbstractChoiceListTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var \Symfony\Component\Form\ChoiceList\ChoiceListInterface */ @@ -103,7 +106,7 @@ abstract class AbstractChoiceListTest extends TestCase */ protected $key4; - protected function setUp() + private function doSetUp() { parent::setUp(); diff --git a/src/Symfony/Component/Form/Tests/ChoiceList/ArrayChoiceListTest.php b/src/Symfony/Component/Form/Tests/ChoiceList/ArrayChoiceListTest.php index c71fd75bcf..c6a80f9b63 100644 --- a/src/Symfony/Component/Form/Tests/ChoiceList/ArrayChoiceListTest.php +++ b/src/Symfony/Component/Form/Tests/ChoiceList/ArrayChoiceListTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Form\Tests\ChoiceList; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\ChoiceList\ArrayChoiceList; /** @@ -18,9 +19,11 @@ use Symfony\Component\Form\ChoiceList\ArrayChoiceList; */ class ArrayChoiceListTest extends AbstractChoiceListTest { + use ForwardCompatTestTrait; + private $object; - protected function setUp() + private function doSetUp() { $this->object = new \stdClass(); diff --git a/src/Symfony/Component/Form/Tests/ChoiceList/Factory/CachingFactoryDecoratorTest.php b/src/Symfony/Component/Form/Tests/ChoiceList/Factory/CachingFactoryDecoratorTest.php index 7277d49780..53540651e5 100644 --- a/src/Symfony/Component/Form/Tests/ChoiceList/Factory/CachingFactoryDecoratorTest.php +++ b/src/Symfony/Component/Form/Tests/ChoiceList/Factory/CachingFactoryDecoratorTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests\ChoiceList\Factory; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\ChoiceList\Factory\CachingFactoryDecorator; /** @@ -19,6 +20,8 @@ use Symfony\Component\Form\ChoiceList\Factory\CachingFactoryDecorator; */ class CachingFactoryDecoratorTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var \PHPUnit_Framework_MockObject_MockObject */ @@ -29,7 +32,7 @@ class CachingFactoryDecoratorTest extends TestCase */ private $factory; - protected function setUp() + private function doSetUp() { $this->decoratedFactory = $this->getMockBuilder('Symfony\Component\Form\ChoiceList\Factory\ChoiceListFactoryInterface')->getMock(); $this->factory = new CachingFactoryDecorator($this->decoratedFactory); diff --git a/src/Symfony/Component/Form/Tests/ChoiceList/Factory/DefaultChoiceListFactoryTest.php b/src/Symfony/Component/Form/Tests/ChoiceList/Factory/DefaultChoiceListFactoryTest.php index 7073890d6b..9975699a74 100644 --- a/src/Symfony/Component/Form/Tests/ChoiceList/Factory/DefaultChoiceListFactoryTest.php +++ b/src/Symfony/Component/Form/Tests/ChoiceList/Factory/DefaultChoiceListFactoryTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests\ChoiceList\Factory; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\ChoiceList\ArrayChoiceList; use Symfony\Component\Form\ChoiceList\ChoiceListInterface; use Symfony\Component\Form\ChoiceList\Factory\DefaultChoiceListFactory; @@ -22,6 +23,8 @@ use Symfony\Component\Form\ChoiceList\View\ChoiceView; class DefaultChoiceListFactoryTest extends TestCase { + use ForwardCompatTestTrait; + private $obj1; private $obj2; @@ -89,7 +92,7 @@ class DefaultChoiceListFactoryTest extends TestCase : new DefaultChoiceListFactoryTest_Castable('Group 2'); } - protected function setUp() + private function doSetUp() { $this->obj1 = (object) ['label' => 'A', 'index' => 'w', 'value' => 'a', 'preferred' => false, 'group' => 'Group 1', 'attr' => []]; $this->obj2 = (object) ['label' => 'B', 'index' => 'x', 'value' => 'b', 'preferred' => true, 'group' => 'Group 1', 'attr' => ['attr1' => 'value1']]; diff --git a/src/Symfony/Component/Form/Tests/ChoiceList/Factory/PropertyAccessDecoratorTest.php b/src/Symfony/Component/Form/Tests/ChoiceList/Factory/PropertyAccessDecoratorTest.php index 7094ae696a..84d82e00f2 100644 --- a/src/Symfony/Component/Form/Tests/ChoiceList/Factory/PropertyAccessDecoratorTest.php +++ b/src/Symfony/Component/Form/Tests/ChoiceList/Factory/PropertyAccessDecoratorTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests\ChoiceList\Factory; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\ChoiceList\Factory\PropertyAccessDecorator; use Symfony\Component\PropertyAccess\PropertyPath; @@ -20,6 +21,8 @@ use Symfony\Component\PropertyAccess\PropertyPath; */ class PropertyAccessDecoratorTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var \PHPUnit_Framework_MockObject_MockObject */ @@ -30,7 +33,7 @@ class PropertyAccessDecoratorTest extends TestCase */ private $factory; - protected function setUp() + private function doSetUp() { $this->decoratedFactory = $this->getMockBuilder('Symfony\Component\Form\ChoiceList\Factory\ChoiceListFactoryInterface')->getMock(); $this->factory = new PropertyAccessDecorator($this->decoratedFactory); diff --git a/src/Symfony/Component/Form/Tests/ChoiceList/LazyChoiceListTest.php b/src/Symfony/Component/Form/Tests/ChoiceList/LazyChoiceListTest.php index 350955f614..2675c25b08 100644 --- a/src/Symfony/Component/Form/Tests/ChoiceList/LazyChoiceListTest.php +++ b/src/Symfony/Component/Form/Tests/ChoiceList/LazyChoiceListTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests\ChoiceList; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\ChoiceList\LazyChoiceList; /** @@ -19,6 +20,8 @@ use Symfony\Component\Form\ChoiceList\LazyChoiceList; */ class LazyChoiceListTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var LazyChoiceList */ @@ -36,7 +39,7 @@ class LazyChoiceListTest extends TestCase private $value; - protected function setUp() + private function doSetUp() { $this->loadedList = $this->getMockBuilder('Symfony\Component\Form\ChoiceList\ChoiceListInterface')->getMock(); $this->loader = $this->getMockBuilder('Symfony\Component\Form\ChoiceList\Loader\ChoiceLoaderInterface')->getMock(); diff --git a/src/Symfony/Component/Form/Tests/ChoiceList/Loader/CallbackChoiceLoaderTest.php b/src/Symfony/Component/Form/Tests/ChoiceList/Loader/CallbackChoiceLoaderTest.php index 362783c91e..ffde233264 100644 --- a/src/Symfony/Component/Form/Tests/ChoiceList/Loader/CallbackChoiceLoaderTest.php +++ b/src/Symfony/Component/Form/Tests/ChoiceList/Loader/CallbackChoiceLoaderTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests\ChoiceList\Loader; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\ChoiceList\LazyChoiceList; use Symfony\Component\Form\ChoiceList\Loader\CallbackChoiceLoader; @@ -20,6 +21,8 @@ use Symfony\Component\Form\ChoiceList\Loader\CallbackChoiceLoader; */ class CallbackChoiceLoaderTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var \Symfony\Component\Form\ChoiceList\Loader\CallbackChoiceLoader */ @@ -45,7 +48,7 @@ class CallbackChoiceLoaderTest extends TestCase */ private static $lazyChoiceList; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { self::$loader = new CallbackChoiceLoader(function () { return self::$choices; @@ -91,7 +94,7 @@ class CallbackChoiceLoaderTest extends TestCase ); } - public static function tearDownAfterClass() + private static function doTearDownAfterClass() { self::$loader = null; self::$value = null; diff --git a/src/Symfony/Component/Form/Tests/Console/Descriptor/JsonDescriptorTest.php b/src/Symfony/Component/Form/Tests/Console/Descriptor/JsonDescriptorTest.php index fb339f6b47..b8e8dd1b95 100644 --- a/src/Symfony/Component/Form/Tests/Console/Descriptor/JsonDescriptorTest.php +++ b/src/Symfony/Component/Form/Tests/Console/Descriptor/JsonDescriptorTest.php @@ -11,16 +11,19 @@ namespace Symfony\Component\Form\Tests\Console\Descriptor; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\Console\Descriptor\JsonDescriptor; class JsonDescriptorTest extends AbstractDescriptorTest { - protected function setUp() + use ForwardCompatTestTrait; + + private function doSetUp() { putenv('COLUMNS=121'); } - protected function tearDown() + private function doTearDown() { putenv('COLUMNS'); } diff --git a/src/Symfony/Component/Form/Tests/Console/Descriptor/TextDescriptorTest.php b/src/Symfony/Component/Form/Tests/Console/Descriptor/TextDescriptorTest.php index 053f7e4512..c361874e82 100644 --- a/src/Symfony/Component/Form/Tests/Console/Descriptor/TextDescriptorTest.php +++ b/src/Symfony/Component/Form/Tests/Console/Descriptor/TextDescriptorTest.php @@ -11,16 +11,19 @@ namespace Symfony\Component\Form\Tests\Console\Descriptor; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\Console\Descriptor\TextDescriptor; class TextDescriptorTest extends AbstractDescriptorTest { - protected function setUp() + use ForwardCompatTestTrait; + + private function doSetUp() { putenv('COLUMNS=121'); } - protected function tearDown() + private function doTearDown() { putenv('COLUMNS'); } diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/DataMapper/PropertyPathMapperTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/DataMapper/PropertyPathMapperTest.php index da351295c3..80017a0ffb 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/DataMapper/PropertyPathMapperTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/DataMapper/PropertyPathMapperTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests\Extension\Core\DataMapper; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\Form\Extension\Core\DataMapper\PropertyPathMapper; @@ -23,6 +24,8 @@ use Symfony\Component\PropertyAccess\PropertyPath; class PropertyPathMapperTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var PropertyPathMapper */ @@ -38,7 +41,7 @@ class PropertyPathMapperTest extends TestCase */ private $propertyAccessor; - protected function setUp() + private function doSetUp() { $this->dispatcher = new EventDispatcher(); $this->propertyAccessor = PropertyAccess::createPropertyAccessor(); diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ArrayToPartsTransformerTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ArrayToPartsTransformerTest.php index 4f11c7f796..09b81fc5e1 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ArrayToPartsTransformerTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ArrayToPartsTransformerTest.php @@ -12,13 +12,16 @@ namespace Symfony\Component\Form\Tests\Extension\Core\DataTransformer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\Extension\Core\DataTransformer\ArrayToPartsTransformer; class ArrayToPartsTransformerTest extends TestCase { + use ForwardCompatTestTrait; + private $transformer; - protected function setUp() + private function doSetUp() { $this->transformer = new ArrayToPartsTransformer([ 'first' => ['a', 'b', 'c'], @@ -26,7 +29,7 @@ class ArrayToPartsTransformerTest extends TestCase ]); } - protected function tearDown() + private function doTearDown() { $this->transformer = null; } diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/BooleanToStringTransformerTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/BooleanToStringTransformerTest.php index d4adb4409c..54c7fe1293 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/BooleanToStringTransformerTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/BooleanToStringTransformerTest.php @@ -12,10 +12,13 @@ namespace Symfony\Component\Form\Tests\Extension\Core\DataTransformer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\Extension\Core\DataTransformer\BooleanToStringTransformer; class BooleanToStringTransformerTest extends TestCase { + use ForwardCompatTestTrait; + const TRUE_VALUE = '1'; /** @@ -23,12 +26,12 @@ class BooleanToStringTransformerTest extends TestCase */ protected $transformer; - protected function setUp() + private function doSetUp() { $this->transformer = new BooleanToStringTransformer(self::TRUE_VALUE); } - protected function tearDown() + private function doTearDown() { $this->transformer = null; } diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ChoiceToValueTransformerTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ChoiceToValueTransformerTest.php index da41a89729..37d383490f 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ChoiceToValueTransformerTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ChoiceToValueTransformerTest.php @@ -12,15 +12,18 @@ namespace Symfony\Component\Form\Tests\Extension\Core\DataTransformer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\ChoiceList\ArrayChoiceList; use Symfony\Component\Form\Extension\Core\DataTransformer\ChoiceToValueTransformer; class ChoiceToValueTransformerTest extends TestCase { + use ForwardCompatTestTrait; + protected $transformer; protected $transformerWithNull; - protected function setUp() + private function doSetUp() { $list = new ArrayChoiceList(['', false, 'X', true]); $listWithNull = new ArrayChoiceList(['', false, 'X', null]); @@ -29,7 +32,7 @@ class ChoiceToValueTransformerTest extends TestCase $this->transformerWithNull = new ChoiceToValueTransformer($listWithNull); } - protected function tearDown() + private function doTearDown() { $this->transformer = null; $this->transformerWithNull = null; diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ChoicesToValuesTransformerTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ChoicesToValuesTransformerTest.php index 9e7a666ba8..e741a3e11f 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ChoicesToValuesTransformerTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ChoicesToValuesTransformerTest.php @@ -12,15 +12,18 @@ namespace Symfony\Component\Form\Tests\Extension\Core\DataTransformer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\ChoiceList\ArrayChoiceList; use Symfony\Component\Form\Extension\Core\DataTransformer\ChoicesToValuesTransformer; class ChoicesToValuesTransformerTest extends TestCase { + use ForwardCompatTestTrait; + protected $transformer; protected $transformerWithNull; - protected function setUp() + private function doSetUp() { $list = new ArrayChoiceList(['', false, 'X']); $listWithNull = new ArrayChoiceList(['', false, 'X', null]); @@ -29,7 +32,7 @@ class ChoicesToValuesTransformerTest extends TestCase $this->transformerWithNull = new ChoicesToValuesTransformer($listWithNull); } - protected function tearDown() + private function doTearDown() { $this->transformer = null; $this->transformerWithNull = null; diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformerTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformerTest.php index 7ec406bdee..0248e9809d 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformerTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformerTest.php @@ -12,18 +12,21 @@ namespace Symfony\Component\Form\Tests\Extension\Core\DataTransformer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\Extension\Core\DataTransformer\DateTimeToLocalizedStringTransformer; use Symfony\Component\Form\Tests\Extension\Core\DataTransformer\Traits\DateTimeEqualsTrait; use Symfony\Component\Intl\Util\IntlTestHelper; class DateTimeToLocalizedStringTransformerTest extends TestCase { + use ForwardCompatTestTrait; + use DateTimeEqualsTrait; protected $dateTime; protected $dateTimeWithoutSeconds; - protected function setUp() + private function doSetUp() { parent::setUp(); @@ -36,7 +39,7 @@ class DateTimeToLocalizedStringTransformerTest extends TestCase $this->dateTimeWithoutSeconds = new \DateTime('2010-02-03 04:05:00 UTC'); } - protected function tearDown() + private function doTearDown() { $this->dateTime = null; $this->dateTimeWithoutSeconds = null; diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToRfc3339TransformerTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToRfc3339TransformerTest.php index 773f00d713..ec251d8f35 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToRfc3339TransformerTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToRfc3339TransformerTest.php @@ -12,17 +12,20 @@ namespace Symfony\Component\Form\Tests\Extension\Core\DataTransformer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\Extension\Core\DataTransformer\DateTimeToRfc3339Transformer; use Symfony\Component\Form\Tests\Extension\Core\DataTransformer\Traits\DateTimeEqualsTrait; class DateTimeToRfc3339TransformerTest extends TestCase { + use ForwardCompatTestTrait; + use DateTimeEqualsTrait; protected $dateTime; protected $dateTimeWithoutSeconds; - protected function setUp() + private function doSetUp() { parent::setUp(); @@ -30,7 +33,7 @@ class DateTimeToRfc3339TransformerTest extends TestCase $this->dateTimeWithoutSeconds = new \DateTime('2010-02-03 04:05:00 UTC'); } - protected function tearDown() + private function doTearDown() { $this->dateTime = null; $this->dateTimeWithoutSeconds = null; diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/IntegerToLocalizedStringTransformerTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/IntegerToLocalizedStringTransformerTest.php index adfc0dd63c..e84657451b 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/IntegerToLocalizedStringTransformerTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/IntegerToLocalizedStringTransformerTest.php @@ -12,20 +12,23 @@ namespace Symfony\Component\Form\Tests\Extension\Core\DataTransformer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\Extension\Core\DataTransformer\IntegerToLocalizedStringTransformer; use Symfony\Component\Intl\Util\IntlTestHelper; class IntegerToLocalizedStringTransformerTest extends TestCase { + use ForwardCompatTestTrait; + private $defaultLocale; - protected function setUp() + private function doSetUp() { $this->defaultLocale = \Locale::getDefault(); \Locale::setDefault('en'); } - protected function tearDown() + private function doTearDown() { \Locale::setDefault($this->defaultLocale); } diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/MoneyToLocalizedStringTransformerTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/MoneyToLocalizedStringTransformerTest.php index ee27e2d72e..14a4aee7c1 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/MoneyToLocalizedStringTransformerTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/MoneyToLocalizedStringTransformerTest.php @@ -12,19 +12,22 @@ namespace Symfony\Component\Form\Tests\Extension\Core\DataTransformer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\Extension\Core\DataTransformer\MoneyToLocalizedStringTransformer; use Symfony\Component\Intl\Util\IntlTestHelper; class MoneyToLocalizedStringTransformerTest extends TestCase { + use ForwardCompatTestTrait; + private $previousLocale; - protected function setUp() + private function doSetUp() { $this->previousLocale = setlocale(LC_ALL, '0'); } - protected function tearDown() + private function doTearDown() { setlocale(LC_ALL, $this->previousLocale); } diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/NumberToLocalizedStringTransformerTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/NumberToLocalizedStringTransformerTest.php index 9baad43549..fd3f570d4c 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/NumberToLocalizedStringTransformerTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/NumberToLocalizedStringTransformerTest.php @@ -12,20 +12,23 @@ namespace Symfony\Component\Form\Tests\Extension\Core\DataTransformer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\Extension\Core\DataTransformer\NumberToLocalizedStringTransformer; use Symfony\Component\Intl\Util\IntlTestHelper; class NumberToLocalizedStringTransformerTest extends TestCase { + use ForwardCompatTestTrait; + private $defaultLocale; - protected function setUp() + private function doSetUp() { $this->defaultLocale = \Locale::getDefault(); \Locale::setDefault('en'); } - protected function tearDown() + private function doTearDown() { \Locale::setDefault($this->defaultLocale); } diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/PercentToLocalizedStringTransformerTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/PercentToLocalizedStringTransformerTest.php index d8bb030949..e2dfc481b3 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/PercentToLocalizedStringTransformerTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/PercentToLocalizedStringTransformerTest.php @@ -12,20 +12,23 @@ namespace Symfony\Component\Form\Tests\Extension\Core\DataTransformer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\Extension\Core\DataTransformer\PercentToLocalizedStringTransformer; use Symfony\Component\Intl\Util\IntlTestHelper; class PercentToLocalizedStringTransformerTest extends TestCase { + use ForwardCompatTestTrait; + private $defaultLocale; - protected function setUp() + private function doSetUp() { $this->defaultLocale = \Locale::getDefault(); \Locale::setDefault('en'); } - protected function tearDown() + private function doTearDown() { \Locale::setDefault($this->defaultLocale); } diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ValueToDuplicatesTransformerTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ValueToDuplicatesTransformerTest.php index 3ef681da66..179ace5a6c 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ValueToDuplicatesTransformerTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ValueToDuplicatesTransformerTest.php @@ -12,18 +12,21 @@ namespace Symfony\Component\Form\Tests\Extension\Core\DataTransformer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\Extension\Core\DataTransformer\ValueToDuplicatesTransformer; class ValueToDuplicatesTransformerTest extends TestCase { + use ForwardCompatTestTrait; + private $transformer; - protected function setUp() + private function doSetUp() { $this->transformer = new ValueToDuplicatesTransformer(['a', 'b', 'c']); } - protected function tearDown() + private function doTearDown() { $this->transformer = null; } diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/EventListener/MergeCollectionListenerTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/EventListener/MergeCollectionListenerTest.php index 8c691dffc1..daf5d60d37 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/EventListener/MergeCollectionListenerTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/EventListener/MergeCollectionListenerTest.php @@ -12,19 +12,22 @@ namespace Symfony\Component\Form\Tests\Extension\Core\EventListener; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\Extension\Core\EventListener\MergeCollectionListener; use Symfony\Component\Form\FormEvent; abstract class MergeCollectionListenerTest extends TestCase { + use ForwardCompatTestTrait; + protected $form; - protected function setUp() + private function doSetUp() { $this->form = $this->getForm('axes'); } - protected function tearDown() + private function doTearDown() { $this->form = null; } diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/EventListener/ResizeFormListenerTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/EventListener/ResizeFormListenerTest.php index ae7d2db467..a1775efe9f 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/EventListener/ResizeFormListenerTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/EventListener/ResizeFormListenerTest.php @@ -13,6 +13,7 @@ namespace Symfony\Component\Form\Tests\Extension\Core\EventListener; use Doctrine\Common\Collections\ArrayCollection; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\Form\Extension\Core\DataMapper\PropertyPathMapper; use Symfony\Component\Form\Extension\Core\EventListener\ResizeFormListener; @@ -23,10 +24,12 @@ use Symfony\Component\Form\FormFactoryBuilder; class ResizeFormListenerTest extends TestCase { + use ForwardCompatTestTrait; + private $factory; private $form; - protected function setUp() + private function doSetUp() { $this->factory = (new FormFactoryBuilder())->getFormFactory(); $this->form = $this->getBuilder() @@ -35,7 +38,7 @@ class ResizeFormListenerTest extends TestCase ->getForm(); } - protected function tearDown() + private function doTearDown() { $this->factory = null; $this->form = null; diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/ChoiceTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/ChoiceTypeTest.php index b9ecf57583..33812c552c 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/ChoiceTypeTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/ChoiceTypeTest.php @@ -11,11 +11,14 @@ namespace Symfony\Component\Form\Tests\Extension\Core\Type; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\ChoiceList\View\ChoiceGroupView; use Symfony\Component\Form\ChoiceList\View\ChoiceView; class ChoiceTypeTest extends BaseTypeTest { + use ForwardCompatTestTrait; + const TESTED_TYPE = 'Symfony\Component\Form\Extension\Core\Type\ChoiceType'; private $choices = [ @@ -60,7 +63,7 @@ class ChoiceTypeTest extends BaseTypeTest ], ]; - protected function setUp() + private function doSetUp() { parent::setUp(); @@ -73,7 +76,7 @@ class ChoiceTypeTest extends BaseTypeTest ]; } - protected function tearDown() + private function doTearDown() { parent::tearDown(); diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/CountryTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/CountryTypeTest.php index 388fd142aa..a75cfe5cc6 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/CountryTypeTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/CountryTypeTest.php @@ -11,14 +11,17 @@ namespace Symfony\Component\Form\Tests\Extension\Core\Type; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\ChoiceList\View\ChoiceView; use Symfony\Component\Intl\Util\IntlTestHelper; class CountryTypeTest extends BaseTypeTest { + use ForwardCompatTestTrait; + const TESTED_TYPE = 'Symfony\Component\Form\Extension\Core\Type\CountryType'; - protected function setUp() + private function doSetUp() { IntlTestHelper::requireIntl($this, false); diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/CurrencyTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/CurrencyTypeTest.php index 2cdcd03c6b..f38f11c014 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/CurrencyTypeTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/CurrencyTypeTest.php @@ -11,14 +11,17 @@ namespace Symfony\Component\Form\Tests\Extension\Core\Type; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\ChoiceList\View\ChoiceView; use Symfony\Component\Intl\Util\IntlTestHelper; class CurrencyTypeTest extends BaseTypeTest { + use ForwardCompatTestTrait; + const TESTED_TYPE = 'Symfony\Component\Form\Extension\Core\Type\CurrencyType'; - protected function setUp() + private function doSetUp() { IntlTestHelper::requireIntl($this, false); diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTimeTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTimeTypeTest.php index f898212b3b..76fff36fad 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTimeTypeTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTimeTypeTest.php @@ -11,13 +11,16 @@ namespace Symfony\Component\Form\Tests\Extension\Core\Type; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\FormError; class DateTimeTypeTest extends BaseTypeTest { + use ForwardCompatTestTrait; + const TESTED_TYPE = 'Symfony\Component\Form\Extension\Core\Type\DateTimeType'; - protected function setUp() + private function doSetUp() { \Locale::setDefault('en'); diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTypeTest.php index 1ce11ee734..a8513cceff 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTypeTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTypeTest.php @@ -11,25 +11,28 @@ namespace Symfony\Component\Form\Tests\Extension\Core\Type; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\ChoiceList\View\ChoiceView; use Symfony\Component\Form\FormError; use Symfony\Component\Intl\Util\IntlTestHelper; class DateTypeTest extends BaseTypeTest { + use ForwardCompatTestTrait; + const TESTED_TYPE = 'Symfony\Component\Form\Extension\Core\Type\DateType'; private $defaultTimezone; private $defaultLocale; - protected function setUp() + private function doSetUp() { parent::setUp(); $this->defaultTimezone = date_default_timezone_get(); $this->defaultLocale = \Locale::getDefault(); } - protected function tearDown() + private function doTearDown() { date_default_timezone_set($this->defaultTimezone); \Locale::setDefault($this->defaultLocale); diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/IntegerTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/IntegerTypeTest.php index c5c7dd9161..7c3868990b 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/IntegerTypeTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/IntegerTypeTest.php @@ -11,13 +11,16 @@ namespace Symfony\Component\Form\Tests\Extension\Core\Type; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Intl\Util\IntlTestHelper; class IntegerTypeTest extends BaseTypeTest { + use ForwardCompatTestTrait; + const TESTED_TYPE = 'Symfony\Component\Form\Extension\Core\Type\IntegerType'; - protected function setUp() + private function doSetUp() { IntlTestHelper::requireIntl($this, false); diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/LanguageTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/LanguageTypeTest.php index 618cf3b16a..6f4c9c0d1b 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/LanguageTypeTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/LanguageTypeTest.php @@ -11,14 +11,17 @@ namespace Symfony\Component\Form\Tests\Extension\Core\Type; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\ChoiceList\View\ChoiceView; use Symfony\Component\Intl\Util\IntlTestHelper; class LanguageTypeTest extends BaseTypeTest { + use ForwardCompatTestTrait; + const TESTED_TYPE = 'Symfony\Component\Form\Extension\Core\Type\LanguageType'; - protected function setUp() + private function doSetUp() { IntlTestHelper::requireIntl($this, false); diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/LocaleTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/LocaleTypeTest.php index 866362bdc1..7793eea5f5 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/LocaleTypeTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/LocaleTypeTest.php @@ -11,14 +11,17 @@ namespace Symfony\Component\Form\Tests\Extension\Core\Type; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\ChoiceList\View\ChoiceView; use Symfony\Component\Intl\Util\IntlTestHelper; class LocaleTypeTest extends BaseTypeTest { + use ForwardCompatTestTrait; + const TESTED_TYPE = 'Symfony\Component\Form\Extension\Core\Type\LocaleType'; - protected function setUp() + private function doSetUp() { IntlTestHelper::requireIntl($this, false); diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/MoneyTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/MoneyTypeTest.php index 42b796a4e6..06afe8427c 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/MoneyTypeTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/MoneyTypeTest.php @@ -11,15 +11,18 @@ namespace Symfony\Component\Form\Tests\Extension\Core\Type; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Intl\Util\IntlTestHelper; class MoneyTypeTest extends BaseTypeTest { + use ForwardCompatTestTrait; + const TESTED_TYPE = 'Symfony\Component\Form\Extension\Core\Type\MoneyType'; private $defaultLocale; - protected function setUp() + private function doSetUp() { // we test against different locales, so we need the full // implementation @@ -30,7 +33,7 @@ class MoneyTypeTest extends BaseTypeTest $this->defaultLocale = \Locale::getDefault(); } - protected function tearDown() + private function doTearDown() { parent::tearDown(); diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/NumberTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/NumberTypeTest.php index fd4fa9a05b..75e415fce2 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/NumberTypeTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/NumberTypeTest.php @@ -11,15 +11,18 @@ namespace Symfony\Component\Form\Tests\Extension\Core\Type; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Intl\Util\IntlTestHelper; class NumberTypeTest extends BaseTypeTest { + use ForwardCompatTestTrait; + const TESTED_TYPE = 'Symfony\Component\Form\Extension\Core\Type\NumberType'; private $defaultLocale; - protected function setUp() + private function doSetUp() { parent::setUp(); @@ -30,7 +33,7 @@ class NumberTypeTest extends BaseTypeTest \Locale::setDefault('de_DE'); } - protected function tearDown() + private function doTearDown() { parent::tearDown(); diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/RepeatedTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/RepeatedTypeTest.php index c380c0590b..de99a9b9f1 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/RepeatedTypeTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/RepeatedTypeTest.php @@ -11,10 +11,13 @@ namespace Symfony\Component\Form\Tests\Extension\Core\Type; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\Form; class RepeatedTypeTest extends BaseTypeTest { + use ForwardCompatTestTrait; + const TESTED_TYPE = 'Symfony\Component\Form\Extension\Core\Type\RepeatedType'; /** @@ -22,7 +25,7 @@ class RepeatedTypeTest extends BaseTypeTest */ protected $form; - protected function setUp() + private function doSetUp() { parent::setUp(); diff --git a/src/Symfony/Component/Form/Tests/Extension/Csrf/EventListener/CsrfValidationListenerTest.php b/src/Symfony/Component/Form/Tests/Extension/Csrf/EventListener/CsrfValidationListenerTest.php index 5876b092b9..ff7be6b1f9 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Csrf/EventListener/CsrfValidationListenerTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Csrf/EventListener/CsrfValidationListenerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests\Extension\Csrf\EventListener; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\Form\Extension\Core\DataMapper\PropertyPathMapper; use Symfony\Component\Form\Extension\Csrf\EventListener\CsrfValidationListener; @@ -22,12 +23,14 @@ use Symfony\Component\Security\Csrf\CsrfTokenManager; class CsrfValidationListenerTest extends TestCase { + use ForwardCompatTestTrait; + protected $dispatcher; protected $factory; protected $tokenManager; protected $form; - protected function setUp() + private function doSetUp() { $this->dispatcher = new EventDispatcher(); $this->factory = (new FormFactoryBuilder())->getFormFactory(); @@ -37,7 +40,7 @@ class CsrfValidationListenerTest extends TestCase ->getForm(); } - protected function tearDown() + private function doTearDown() { $this->dispatcher = null; $this->factory = null; diff --git a/src/Symfony/Component/Form/Tests/Extension/Csrf/Type/FormTypeCsrfExtensionTest.php b/src/Symfony/Component/Form/Tests/Extension/Csrf/Type/FormTypeCsrfExtensionTest.php index a46c3de6c7..cbebe0bc4f 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Csrf/Type/FormTypeCsrfExtensionTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Csrf/Type/FormTypeCsrfExtensionTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Form\Tests\Extension\Csrf\Type; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Csrf\CsrfExtension; use Symfony\Component\Form\FormBuilderInterface; @@ -32,6 +33,8 @@ class FormTypeCsrfExtensionTest_ChildType extends AbstractType class FormTypeCsrfExtensionTest extends TypeTestCase { + use ForwardCompatTestTrait; + /** * @var \PHPUnit_Framework_MockObject_MockObject */ @@ -42,7 +45,7 @@ class FormTypeCsrfExtensionTest extends TypeTestCase */ protected $translator; - protected function setUp() + private function doSetUp() { $this->tokenManager = $this->getMockBuilder(CsrfTokenManagerInterface::class)->getMock(); $this->translator = $this->getMockBuilder(TranslatorInterface::class)->getMock(); @@ -51,7 +54,7 @@ class FormTypeCsrfExtensionTest extends TypeTestCase parent::setUp(); } - protected function tearDown() + private function doTearDown() { $this->tokenManager = null; $this->translator = null; diff --git a/src/Symfony/Component/Form/Tests/Extension/DataCollector/DataCollectorExtensionTest.php b/src/Symfony/Component/Form/Tests/Extension/DataCollector/DataCollectorExtensionTest.php index da84a5b436..72c32904b1 100644 --- a/src/Symfony/Component/Form/Tests/Extension/DataCollector/DataCollectorExtensionTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/DataCollector/DataCollectorExtensionTest.php @@ -12,10 +12,13 @@ namespace Symfony\Component\Form\Tests\Extension\DataCollector; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\Extension\DataCollector\DataCollectorExtension; class DataCollectorExtensionTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var DataCollectorExtension */ @@ -26,7 +29,7 @@ class DataCollectorExtensionTest extends TestCase */ private $dataCollector; - protected function setUp() + private function doSetUp() { $this->dataCollector = $this->getMockBuilder('Symfony\Component\Form\Extension\DataCollector\FormDataCollectorInterface')->getMock(); $this->extension = new DataCollectorExtension($this->dataCollector); diff --git a/src/Symfony/Component/Form/Tests/Extension/DataCollector/FormDataCollectorTest.php b/src/Symfony/Component/Form/Tests/Extension/DataCollector/FormDataCollectorTest.php index b0ca4fd88f..930163d029 100644 --- a/src/Symfony/Component/Form/Tests/Extension/DataCollector/FormDataCollectorTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/DataCollector/FormDataCollectorTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests\Extension\DataCollector; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\Extension\DataCollector\FormDataCollector; use Symfony\Component\Form\Form; use Symfony\Component\Form\FormBuilder; @@ -19,6 +20,8 @@ use Symfony\Component\Form\FormView; class FormDataCollectorTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var \PHPUnit_Framework_MockObject_MockObject */ @@ -64,7 +67,7 @@ class FormDataCollectorTest extends TestCase */ private $childView; - protected function setUp() + private function doSetUp() { $this->dataExtractor = $this->getMockBuilder('Symfony\Component\Form\Extension\DataCollector\FormDataExtractorInterface')->getMock(); $this->dataCollector = new FormDataCollector($this->dataExtractor); diff --git a/src/Symfony/Component/Form/Tests/Extension/DataCollector/FormDataExtractorTest.php b/src/Symfony/Component/Form/Tests/Extension/DataCollector/FormDataExtractorTest.php index fb83d23640..cf223e9aa1 100644 --- a/src/Symfony/Component/Form/Tests/Extension/DataCollector/FormDataExtractorTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/DataCollector/FormDataExtractorTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests\Extension\DataCollector; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\CallbackTransformer; use Symfony\Component\Form\Exception\TransformationFailedException; use Symfony\Component\Form\Extension\DataCollector\FormDataExtractor; @@ -27,6 +28,7 @@ use Symfony\Component\VarDumper\Test\VarDumperTestTrait; */ class FormDataExtractorTest extends TestCase { + use ForwardCompatTestTrait; use VarDumperTestTrait; /** @@ -44,7 +46,7 @@ class FormDataExtractorTest extends TestCase */ private $factory; - protected function setUp() + private function doSetUp() { $this->dataExtractor = new FormDataExtractor(); $this->dispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcherInterface')->getMock(); diff --git a/src/Symfony/Component/Form/Tests/Extension/DataCollector/Type/DataCollectorTypeExtensionTest.php b/src/Symfony/Component/Form/Tests/Extension/DataCollector/Type/DataCollectorTypeExtensionTest.php index e8ccbe9ea7..c9dcf90f9f 100644 --- a/src/Symfony/Component/Form/Tests/Extension/DataCollector/Type/DataCollectorTypeExtensionTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/DataCollector/Type/DataCollectorTypeExtensionTest.php @@ -12,10 +12,13 @@ namespace Symfony\Component\Form\Tests\Extension\DataCollector\Type; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\Extension\DataCollector\Type\DataCollectorTypeExtension; class DataCollectorTypeExtensionTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var DataCollectorTypeExtension */ @@ -26,7 +29,7 @@ class DataCollectorTypeExtensionTest extends TestCase */ private $dataCollector; - protected function setUp() + private function doSetUp() { $this->dataCollector = $this->getMockBuilder('Symfony\Component\Form\Extension\DataCollector\FormDataCollectorInterface')->getMock(); $this->extension = new DataCollectorTypeExtension($this->dataCollector); diff --git a/src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorTest.php b/src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorTest.php index ce8973d06e..ea136676b4 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Form\Tests\Extension\Validator\Constraints; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\Form\CallbackTransformer; @@ -38,6 +39,8 @@ use Symfony\Component\Validator\Validation; */ class FormValidatorTest extends ConstraintValidatorTestCase { + use ForwardCompatTestTrait; + /** * @var EventDispatcherInterface */ @@ -48,7 +51,7 @@ class FormValidatorTest extends ConstraintValidatorTestCase */ private $factory; - protected function setUp() + private function doSetUp() { $this->dispatcher = new EventDispatcher(); $this->factory = (new FormFactoryBuilder())->getFormFactory(); diff --git a/src/Symfony/Component/Form/Tests/Extension/Validator/EventListener/ValidationListenerTest.php b/src/Symfony/Component/Form/Tests/Extension/Validator/EventListener/ValidationListenerTest.php index 76bc07b2ee..b1848ac9a4 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Validator/EventListener/ValidationListenerTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Validator/EventListener/ValidationListenerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests\Extension\Validator\EventListener; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\Form\Extension\Core\DataMapper\PropertyPathMapper; @@ -32,6 +33,8 @@ use Symfony\Component\Validator\Validator\ValidatorInterface; class ValidationListenerTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var EventDispatcherInterface */ @@ -58,7 +61,7 @@ class ValidationListenerTest extends TestCase private $params; - protected function setUp() + private function doSetUp() { $this->dispatcher = new EventDispatcher(); $this->factory = (new FormFactoryBuilder())->getFormFactory(); diff --git a/src/Symfony/Component/Form/Tests/Extension/Validator/ValidatorTypeGuesserTest.php b/src/Symfony/Component/Form/Tests/Extension/Validator/ValidatorTypeGuesserTest.php index b8e958c7b4..de3663c052 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Validator/ValidatorTypeGuesserTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Validator/ValidatorTypeGuesserTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests\Extension\Validator; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\Extension\Validator\ValidatorTypeGuesser; use Symfony\Component\Form\Guess\Guess; use Symfony\Component\Form\Guess\ValueGuess; @@ -33,6 +34,8 @@ use Symfony\Component\Validator\Tests\Fixtures\FakeMetadataFactory; */ class ValidatorTypeGuesserTest extends TestCase { + use ForwardCompatTestTrait; + const TEST_CLASS = 'Symfony\Component\Form\Tests\Extension\Validator\ValidatorTypeGuesserTest_TestClass'; const TEST_PROPERTY = 'property'; @@ -52,7 +55,7 @@ class ValidatorTypeGuesserTest extends TestCase */ private $metadataFactory; - protected function setUp() + private function doSetUp() { $this->metadata = new ClassMetadata(self::TEST_CLASS); $this->metadataFactory = new FakeMetadataFactory(); diff --git a/src/Symfony/Component/Form/Tests/Extension/Validator/ViolationMapper/ViolationMapperTest.php b/src/Symfony/Component/Form/Tests/Extension/Validator/ViolationMapper/ViolationMapperTest.php index 2fa3e92892..7f7e9cd527 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Validator/ViolationMapper/ViolationMapperTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Validator/ViolationMapper/ViolationMapperTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests\Extension\Validator\ViolationMapper; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\Form\CallbackTransformer; @@ -31,6 +32,8 @@ use Symfony\Component\Validator\ConstraintViolationInterface; */ class ViolationMapperTest extends TestCase { + use ForwardCompatTestTrait; + const LEVEL_0 = 0; const LEVEL_1 = 1; const LEVEL_1B = 2; @@ -61,7 +64,7 @@ class ViolationMapperTest extends TestCase */ private $params; - protected function setUp() + private function doSetUp() { $this->dispatcher = new EventDispatcher(); $this->mapper = new ViolationMapper(); diff --git a/src/Symfony/Component/Form/Tests/FormBuilderTest.php b/src/Symfony/Component/Form/Tests/FormBuilderTest.php index b5fb8a3572..6d74929108 100644 --- a/src/Symfony/Component/Form/Tests/FormBuilderTest.php +++ b/src/Symfony/Component/Form/Tests/FormBuilderTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\ButtonBuilder; use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\Form\FormBuilder; @@ -20,18 +21,20 @@ use Symfony\Component\Form\SubmitButtonBuilder; class FormBuilderTest extends TestCase { + use ForwardCompatTestTrait; + private $dispatcher; private $factory; private $builder; - protected function setUp() + private function doSetUp() { $this->dispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcherInterface')->getMock(); $this->factory = $this->getMockBuilder('Symfony\Component\Form\FormFactoryInterface')->getMock(); $this->builder = new FormBuilder('name', null, $this->dispatcher, $this->factory); } - protected function tearDown() + private function doTearDown() { $this->dispatcher = null; $this->factory = null; diff --git a/src/Symfony/Component/Form/Tests/FormFactoryBuilderTest.php b/src/Symfony/Component/Form/Tests/FormFactoryBuilderTest.php index 3e66ce8c38..12d5d3a671 100644 --- a/src/Symfony/Component/Form/Tests/FormFactoryBuilderTest.php +++ b/src/Symfony/Component/Form/Tests/FormFactoryBuilderTest.php @@ -12,16 +12,19 @@ namespace Symfony\Component\Form\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\FormFactoryBuilder; use Symfony\Component\Form\Tests\Fixtures\FooType; class FormFactoryBuilderTest extends TestCase { + use ForwardCompatTestTrait; + private $registry; private $guesser; private $type; - protected function setUp() + private function doSetUp() { $factory = new \ReflectionClass('Symfony\Component\Form\FormFactory'); $this->registry = $factory->getProperty('registry'); diff --git a/src/Symfony/Component/Form/Tests/FormFactoryTest.php b/src/Symfony/Component/Form/Tests/FormFactoryTest.php index 4426310676..965485cf2c 100644 --- a/src/Symfony/Component/Form/Tests/FormFactoryTest.php +++ b/src/Symfony/Component/Form/Tests/FormFactoryTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\FormFactory; use Symfony\Component\Form\FormTypeGuesserChain; use Symfony\Component\Form\Guess\Guess; @@ -23,6 +24,8 @@ use Symfony\Component\Form\Guess\ValueGuess; */ class FormFactoryTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var \PHPUnit_Framework_MockObject_MockObject */ @@ -48,7 +51,7 @@ class FormFactoryTest extends TestCase */ private $factory; - protected function setUp() + private function doSetUp() { $this->guesser1 = $this->getMockBuilder('Symfony\Component\Form\FormTypeGuesserInterface')->getMock(); $this->guesser2 = $this->getMockBuilder('Symfony\Component\Form\FormTypeGuesserInterface')->getMock(); diff --git a/src/Symfony/Component/Form/Tests/FormRegistryTest.php b/src/Symfony/Component/Form/Tests/FormRegistryTest.php index e4dee5da8a..8d72db3391 100644 --- a/src/Symfony/Component/Form/Tests/FormRegistryTest.php +++ b/src/Symfony/Component/Form/Tests/FormRegistryTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\FormRegistry; use Symfony\Component\Form\FormTypeGuesserChain; use Symfony\Component\Form\ResolvedFormType; @@ -31,6 +32,8 @@ use Symfony\Component\Form\Tests\Fixtures\TestExtension; */ class FormRegistryTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var FormRegistry */ @@ -61,7 +64,7 @@ class FormRegistryTest extends TestCase */ private $extension2; - protected function setUp() + private function doSetUp() { $this->resolvedTypeFactory = $this->getMockBuilder('Symfony\Component\Form\ResolvedFormTypeFactory')->getMock(); $this->guesser1 = $this->getMockBuilder('Symfony\Component\Form\FormTypeGuesserInterface')->getMock(); diff --git a/src/Symfony/Component/Form/Tests/NativeRequestHandlerTest.php b/src/Symfony/Component/Form/Tests/NativeRequestHandlerTest.php index 36638a124f..ab66904617 100644 --- a/src/Symfony/Component/Form/Tests/NativeRequestHandlerTest.php +++ b/src/Symfony/Component/Form/Tests/NativeRequestHandlerTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Form\Tests; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\NativeRequestHandler; /** @@ -18,14 +19,16 @@ use Symfony\Component\Form\NativeRequestHandler; */ class NativeRequestHandlerTest extends AbstractRequestHandlerTest { + use ForwardCompatTestTrait; + private static $serverBackup; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { self::$serverBackup = $_SERVER; } - protected function setUp() + private function doSetUp() { parent::setUp(); @@ -38,7 +41,7 @@ class NativeRequestHandlerTest extends AbstractRequestHandlerTest ]; } - protected function tearDown() + private function doTearDown() { parent::tearDown(); diff --git a/src/Symfony/Component/Form/Tests/ResolvedFormTypeTest.php b/src/Symfony/Component/Form/Tests/ResolvedFormTypeTest.php index 0ddf03168c..ba55993cd6 100644 --- a/src/Symfony/Component/Form/Tests/ResolvedFormTypeTest.php +++ b/src/Symfony/Component/Form/Tests/ResolvedFormTypeTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Form\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Form\Form; use Symfony\Component\Form\FormConfigInterface; use Symfony\Component\Form\FormTypeExtensionInterface; @@ -24,6 +25,8 @@ use Symfony\Component\OptionsResolver\OptionsResolver; */ class ResolvedFormTypeTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var \PHPUnit_Framework_MockObject_MockObject */ @@ -69,7 +72,7 @@ class ResolvedFormTypeTest extends TestCase */ private $resolvedType; - protected function setUp() + private function doSetUp() { $this->dispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcherInterface')->getMock(); $this->factory = $this->getMockBuilder('Symfony\Component\Form\FormFactoryInterface')->getMock(); diff --git a/src/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php b/src/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php index effffe925b..e0df45c539 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\HttpFoundation\Tests; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\BinaryFileResponse; use Symfony\Component\HttpFoundation\File\Stream; use Symfony\Component\HttpFoundation\Request; @@ -19,6 +20,8 @@ use Symfony\Component\HttpFoundation\Tests\File\FakeFile; class BinaryFileResponseTest extends ResponseTestCase { + use ForwardCompatTestTrait; + public function testConstruction() { $file = __DIR__.'/../README.md'; @@ -357,7 +360,7 @@ class BinaryFileResponseTest extends ResponseTestCase return new BinaryFileResponse(__DIR__.'/../README.md', 200, ['Content-Type' => 'application/octet-stream']); } - public static function tearDownAfterClass() + private static function doTearDownAfterClass() { $path = __DIR__.'/../Fixtures/to_delete'; if (file_exists($path)) { diff --git a/src/Symfony/Component/HttpFoundation/Tests/File/UploadedFileTest.php b/src/Symfony/Component/HttpFoundation/Tests/File/UploadedFileTest.php index b8e55bb0e5..ca7259aed8 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/File/UploadedFileTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/File/UploadedFileTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpFoundation\Tests\File; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\File\Exception\CannotWriteFileException; use Symfony\Component\HttpFoundation\File\Exception\ExtensionFileException; use Symfony\Component\HttpFoundation\File\Exception\FileException; @@ -24,7 +25,9 @@ use Symfony\Component\HttpFoundation\File\UploadedFile; class UploadedFileTest extends TestCase { - protected function setUp() + use ForwardCompatTestTrait; + + private function doSetUp() { if (!ini_get('file_uploads')) { $this->markTestSkipped('file_uploads is disabled in php.ini'); diff --git a/src/Symfony/Component/HttpFoundation/Tests/FileBagTest.php b/src/Symfony/Component/HttpFoundation/Tests/FileBagTest.php index 5eaf64f89f..6f2a33d3cc 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/FileBagTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/FileBagTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpFoundation\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\File\UploadedFile; use Symfony\Component\HttpFoundation\FileBag; @@ -23,6 +24,8 @@ use Symfony\Component\HttpFoundation\FileBag; */ class FileBagTest extends TestCase { + use ForwardCompatTestTrait; + /** * @expectedException \InvalidArgumentException */ @@ -162,12 +165,12 @@ class FileBagTest extends TestCase return $tempFile; } - protected function setUp() + private function doSetUp() { mkdir(sys_get_temp_dir().'/form_test', 0777, true); } - protected function tearDown() + private function doTearDown() { foreach (glob(sys_get_temp_dir().'/form_test/*') as $file) { unlink($file); diff --git a/src/Symfony/Component/HttpFoundation/Tests/RequestTest.php b/src/Symfony/Component/HttpFoundation/Tests/RequestTest.php index fe5721a0eb..2a1ff0232d 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/RequestTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/RequestTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpFoundation\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Exception\SuspiciousOperationException; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Session\Session; @@ -19,7 +20,9 @@ use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage; class RequestTest extends TestCase { - protected function tearDown() + use ForwardCompatTestTrait; + + private function doTearDown() { Request::setTrustedProxies([], -1); Request::setTrustedHosts([]); diff --git a/src/Symfony/Component/HttpFoundation/Tests/ResponseFunctionalTest.php b/src/Symfony/Component/HttpFoundation/Tests/ResponseFunctionalTest.php index b248338504..3d052df015 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/ResponseFunctionalTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/ResponseFunctionalTest.php @@ -12,12 +12,15 @@ namespace Symfony\Component\HttpFoundation\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; class ResponseFunctionalTest extends TestCase { + use ForwardCompatTestTrait; + private static $server; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { $spec = [ 1 => ['file', '/dev/null', 'w'], @@ -29,7 +32,7 @@ class ResponseFunctionalTest extends TestCase sleep(1); } - public static function tearDownAfterClass() + private static function doTearDownAfterClass() { if (self::$server) { proc_terminate(self::$server); diff --git a/src/Symfony/Component/HttpFoundation/Tests/Session/Attribute/AttributeBagTest.php b/src/Symfony/Component/HttpFoundation/Tests/Session/Attribute/AttributeBagTest.php index 44c8174e30..d3f0c4922d 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/Session/Attribute/AttributeBagTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/Session/Attribute/AttributeBagTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpFoundation\Tests\Session\Attribute; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag; /** @@ -21,6 +22,8 @@ use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag; */ class AttributeBagTest extends TestCase { + use ForwardCompatTestTrait; + private $array = []; /** @@ -28,7 +31,7 @@ class AttributeBagTest extends TestCase */ private $bag; - protected function setUp() + private function doSetUp() { $this->array = [ 'hello' => 'world', @@ -49,7 +52,7 @@ class AttributeBagTest extends TestCase $this->bag->initialize($this->array); } - protected function tearDown() + private function doTearDown() { $this->bag = null; $this->array = []; diff --git a/src/Symfony/Component/HttpFoundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php b/src/Symfony/Component/HttpFoundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php index 6b4bb17d69..a1f6bf5eb4 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpFoundation\Tests\Session\Attribute; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Session\Attribute\NamespacedAttributeBag; /** @@ -21,6 +22,8 @@ use Symfony\Component\HttpFoundation\Session\Attribute\NamespacedAttributeBag; */ class NamespacedAttributeBagTest extends TestCase { + use ForwardCompatTestTrait; + private $array = []; /** @@ -28,7 +31,7 @@ class NamespacedAttributeBagTest extends TestCase */ private $bag; - protected function setUp() + private function doSetUp() { $this->array = [ 'hello' => 'world', @@ -49,7 +52,7 @@ class NamespacedAttributeBagTest extends TestCase $this->bag->initialize($this->array); } - protected function tearDown() + private function doTearDown() { $this->bag = null; $this->array = []; diff --git a/src/Symfony/Component/HttpFoundation/Tests/Session/Flash/AutoExpireFlashBagTest.php b/src/Symfony/Component/HttpFoundation/Tests/Session/Flash/AutoExpireFlashBagTest.php index b4e2c3a5ad..65b2058146 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/Session/Flash/AutoExpireFlashBagTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/Session/Flash/AutoExpireFlashBagTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpFoundation\Tests\Session\Flash; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Session\Flash\AutoExpireFlashBag as FlashBag; /** @@ -21,6 +22,8 @@ use Symfony\Component\HttpFoundation\Session\Flash\AutoExpireFlashBag as FlashBa */ class AutoExpireFlashBagTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var \Symfony\Component\HttpFoundation\Session\Flash\AutoExpireFlashBag */ @@ -28,7 +31,7 @@ class AutoExpireFlashBagTest extends TestCase protected $array = []; - protected function setUp() + private function doSetUp() { parent::setUp(); $this->bag = new FlashBag(); @@ -36,7 +39,7 @@ class AutoExpireFlashBagTest extends TestCase $this->bag->initialize($this->array); } - protected function tearDown() + private function doTearDown() { $this->bag = null; parent::tearDown(); diff --git a/src/Symfony/Component/HttpFoundation/Tests/Session/Flash/FlashBagTest.php b/src/Symfony/Component/HttpFoundation/Tests/Session/Flash/FlashBagTest.php index 6d8619e078..427af6d677 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/Session/Flash/FlashBagTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/Session/Flash/FlashBagTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpFoundation\Tests\Session\Flash; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Session\Flash\FlashBag; /** @@ -21,6 +22,8 @@ use Symfony\Component\HttpFoundation\Session\Flash\FlashBag; */ class FlashBagTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var \Symfony\Component\HttpFoundation\Session\Flash\FlashBagInterface */ @@ -28,7 +31,7 @@ class FlashBagTest extends TestCase protected $array = []; - protected function setUp() + private function doSetUp() { parent::setUp(); $this->bag = new FlashBag(); @@ -36,7 +39,7 @@ class FlashBagTest extends TestCase $this->bag->initialize($this->array); } - protected function tearDown() + private function doTearDown() { $this->bag = null; parent::tearDown(); diff --git a/src/Symfony/Component/HttpFoundation/Tests/Session/SessionTest.php b/src/Symfony/Component/HttpFoundation/Tests/Session/SessionTest.php index acb129984e..51516e2f23 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/Session/SessionTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/Session/SessionTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpFoundation\Tests\Session; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag; use Symfony\Component\HttpFoundation\Session\Flash\FlashBag; use Symfony\Component\HttpFoundation\Session\Session; @@ -27,6 +28,8 @@ use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage; */ class SessionTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var \Symfony\Component\HttpFoundation\Session\Storage\SessionStorageInterface */ @@ -37,13 +40,13 @@ class SessionTest extends TestCase */ protected $session; - protected function setUp() + private function doSetUp() { $this->storage = new MockArraySessionStorage(); $this->session = new Session($this->storage, new AttributeBag(), new FlashBag()); } - protected function tearDown() + private function doTearDown() { $this->storage = null; $this->session = null; diff --git a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/AbstractSessionHandlerTest.php b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/AbstractSessionHandlerTest.php index f65e62b506..5fa514d006 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/AbstractSessionHandlerTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/AbstractSessionHandlerTest.php @@ -12,12 +12,15 @@ namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; class AbstractSessionHandlerTest extends TestCase { + use ForwardCompatTestTrait; + private static $server; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { $spec = [ 1 => ['file', '/dev/null', 'w'], @@ -29,7 +32,7 @@ class AbstractSessionHandlerTest extends TestCase sleep(1); } - public static function tearDownAfterClass() + private static function doTearDownAfterClass() { if (self::$server) { proc_terminate(self::$server); diff --git a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php new file mode 100644 index 0000000000..d2526868d5 --- /dev/null +++ b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php @@ -0,0 +1,138 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler; + +use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; +use Symfony\Component\HttpFoundation\Session\Storage\Handler\MemcacheSessionHandler; + +/** + * @requires extension memcache + * @group time-sensitive + * @group legacy + */ +class MemcacheSessionHandlerTest extends TestCase +{ + use ForwardCompatTestTrait; + + const PREFIX = 'prefix_'; + const TTL = 1000; + + /** + * @var MemcacheSessionHandler + */ + protected $storage; + + protected $memcache; + + private function doSetUp() + { + if (\defined('HHVM_VERSION')) { + $this->markTestSkipped('PHPUnit_MockObject cannot mock the Memcache class on HHVM. See https://github.com/sebastianbergmann/phpunit-mock-objects/pull/289'); + } + + parent::setUp(); + $this->memcache = $this->getMockBuilder('Memcache')->getMock(); + $this->storage = new MemcacheSessionHandler( + $this->memcache, + ['prefix' => self::PREFIX, 'expiretime' => self::TTL] + ); + } + + private function doTearDown() + { + $this->memcache = null; + $this->storage = null; + parent::tearDown(); + } + + public function testOpenSession() + { + $this->assertTrue($this->storage->open('', '')); + } + + public function testCloseSession() + { + $this->assertTrue($this->storage->close()); + } + + public function testReadSession() + { + $this->memcache + ->expects($this->once()) + ->method('get') + ->with(self::PREFIX.'id') + ; + + $this->assertEquals('', $this->storage->read('id')); + } + + public function testWriteSession() + { + $this->memcache + ->expects($this->once()) + ->method('set') + ->with(self::PREFIX.'id', 'data', 0, $this->equalTo(time() + self::TTL, 2)) + ->willReturn(true) + ; + + $this->assertTrue($this->storage->write('id', 'data')); + } + + public function testDestroySession() + { + $this->memcache + ->expects($this->once()) + ->method('delete') + ->with(self::PREFIX.'id') + ->willReturn(true) + ; + + $this->assertTrue($this->storage->destroy('id')); + } + + public function testGcSession() + { + $this->assertTrue($this->storage->gc(123)); + } + + /** + * @dataProvider getOptionFixtures + */ + public function testSupportedOptions($options, $supported) + { + try { + new MemcacheSessionHandler($this->memcache, $options); + $this->assertTrue($supported); + } catch (\InvalidArgumentException $e) { + $this->assertFalse($supported); + } + } + + public function getOptionFixtures() + { + return [ + [['prefix' => 'session'], true], + [['expiretime' => 100], true], + [['prefix' => 'session', 'expiretime' => 200], true], + [['expiretime' => 100, 'foo' => 'bar'], false], + ]; + } + + public function testGetConnection() + { + $method = new \ReflectionMethod($this->storage, 'getMemcache'); + $method->setAccessible(true); + + $this->assertInstanceOf('\Memcache', $method->invoke($this->storage)); + } +} diff --git a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php index 2393ddf182..a21ab067d8 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Session\Storage\Handler\MemcachedSessionHandler; /** @@ -20,6 +21,8 @@ use Symfony\Component\HttpFoundation\Session\Storage\Handler\MemcachedSessionHan */ class MemcachedSessionHandlerTest extends TestCase { + use ForwardCompatTestTrait; + const PREFIX = 'prefix_'; const TTL = 1000; @@ -30,7 +33,7 @@ class MemcachedSessionHandlerTest extends TestCase protected $memcached; - protected function setUp() + private function doSetUp() { parent::setUp(); @@ -45,7 +48,7 @@ class MemcachedSessionHandlerTest extends TestCase ); } - protected function tearDown() + private function doTearDown() { $this->memcached = null; $this->storage = null; diff --git a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php index 5fcdad9b58..f4e775b719 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Session\Storage\Handler\MongoDbSessionHandler; /** @@ -21,6 +22,8 @@ use Symfony\Component\HttpFoundation\Session\Storage\Handler\MongoDbSessionHandl */ class MongoDbSessionHandlerTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var \PHPUnit_Framework_MockObject_MockObject */ @@ -28,7 +31,7 @@ class MongoDbSessionHandlerTest extends TestCase private $storage; public $options; - protected function setUp() + private function doSetUp() { parent::setUp(); diff --git a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php index 380b4d7da4..23eb5b11aa 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler; /** @@ -20,9 +21,11 @@ use Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler; */ class PdoSessionHandlerTest extends TestCase { + use ForwardCompatTestTrait; + private $dbFile; - protected function tearDown() + private function doTearDown() { // make sure the temporary database file is deleted when it has been created (even when a test fails) if ($this->dbFile) { diff --git a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/MetadataBagTest.php b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/MetadataBagTest.php index 2c4758b913..02cea32925 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/MetadataBagTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/MetadataBagTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpFoundation\Tests\Session\Storage; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Session\Storage\MetadataBag; /** @@ -21,6 +22,8 @@ use Symfony\Component\HttpFoundation\Session\Storage\MetadataBag; */ class MetadataBagTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var MetadataBag */ @@ -28,7 +31,7 @@ class MetadataBagTest extends TestCase protected $array = []; - protected function setUp() + private function doSetUp() { parent::setUp(); $this->bag = new MetadataBag(); @@ -36,7 +39,7 @@ class MetadataBagTest extends TestCase $this->bag->initialize($this->array); } - protected function tearDown() + private function doTearDown() { $this->array = []; $this->bag = null; diff --git a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockArraySessionStorageTest.php b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockArraySessionStorageTest.php index 2e3024ef1b..c60a78910b 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockArraySessionStorageTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockArraySessionStorageTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpFoundation\Tests\Session\Storage; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag; use Symfony\Component\HttpFoundation\Session\Flash\FlashBag; use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage; @@ -23,6 +24,8 @@ use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage; */ class MockArraySessionStorageTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var MockArraySessionStorage */ @@ -40,7 +43,7 @@ class MockArraySessionStorageTest extends TestCase private $data; - protected function setUp() + private function doSetUp() { $this->attributes = new AttributeBag(); $this->flashes = new FlashBag(); @@ -56,7 +59,7 @@ class MockArraySessionStorageTest extends TestCase $this->storage->setSessionData($this->data); } - protected function tearDown() + private function doTearDown() { $this->data = null; $this->flashes = null; diff --git a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockFileSessionStorageTest.php b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockFileSessionStorageTest.php index 062769e282..67c47e417a 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockFileSessionStorageTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockFileSessionStorageTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpFoundation\Tests\Session\Storage; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag; use Symfony\Component\HttpFoundation\Session\Flash\FlashBag; use Symfony\Component\HttpFoundation\Session\Storage\MockFileSessionStorage; @@ -23,6 +24,8 @@ use Symfony\Component\HttpFoundation\Session\Storage\MockFileSessionStorage; */ class MockFileSessionStorageTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var string */ @@ -33,13 +36,13 @@ class MockFileSessionStorageTest extends TestCase */ protected $storage; - protected function setUp() + private function doSetUp() { $this->sessionDir = sys_get_temp_dir().'/sftest'; $this->storage = $this->getStorage(); } - protected function tearDown() + private function doTearDown() { $this->sessionDir = null; $this->storage = null; diff --git a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php index d97973e2eb..8e4aebd9ce 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpFoundation\Tests\Session\Storage; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag; use Symfony\Component\HttpFoundation\Session\Flash\FlashBag; use Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeFileSessionHandler; @@ -31,9 +32,11 @@ use Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy; */ class NativeSessionStorageTest extends TestCase { + use ForwardCompatTestTrait; + private $savePath; - protected function setUp() + private function doSetUp() { $this->iniSet('session.save_handler', 'files'); $this->iniSet('session.save_path', $this->savePath = sys_get_temp_dir().'/sftest'); @@ -42,7 +45,7 @@ class NativeSessionStorageTest extends TestCase } } - protected function tearDown() + private function doTearDown() { session_write_close(); array_map('unlink', glob($this->savePath.'/*')); diff --git a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php index 4332400246..e352996646 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpFoundation\Tests\Session\Storage; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag; use Symfony\Component\HttpFoundation\Session\Storage\PhpBridgeSessionStorage; @@ -27,9 +28,11 @@ use Symfony\Component\HttpFoundation\Session\Storage\PhpBridgeSessionStorage; */ class PhpBridgeSessionStorageTest extends TestCase { + use ForwardCompatTestTrait; + private $savePath; - protected function setUp() + private function doSetUp() { $this->iniSet('session.save_handler', 'files'); $this->iniSet('session.save_path', $this->savePath = sys_get_temp_dir().'/sftest'); @@ -38,7 +41,7 @@ class PhpBridgeSessionStorageTest extends TestCase } } - protected function tearDown() + private function doTearDown() { session_write_close(); array_map('unlink', glob($this->savePath.'/*')); diff --git a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php index cbb291f19f..499a54a8ed 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Proxy; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Session\Storage\Proxy\AbstractProxy; use Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy; @@ -22,17 +23,19 @@ use Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy; */ class AbstractProxyTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var AbstractProxy */ protected $proxy; - protected function setUp() + private function doSetUp() { $this->proxy = $this->getMockForAbstractClass(AbstractProxy::class); } - protected function tearDown() + private function doTearDown() { $this->proxy = null; } diff --git a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/SessionHandlerProxyTest.php b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/SessionHandlerProxyTest.php index b6e0da99dd..63b3c8afb3 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/SessionHandlerProxyTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/SessionHandlerProxyTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Proxy; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy; /** @@ -24,6 +25,8 @@ use Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy; */ class SessionHandlerProxyTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var \PHPUnit_Framework_MockObject_Matcher */ @@ -34,13 +37,13 @@ class SessionHandlerProxyTest extends TestCase */ private $proxy; - protected function setUp() + private function doSetUp() { $this->mock = $this->getMockBuilder('SessionHandlerInterface')->getMock(); $this->proxy = new SessionHandlerProxy($this->mock); } - protected function tearDown() + private function doTearDown() { $this->mock = null; $this->proxy = null; diff --git a/src/Symfony/Component/HttpKernel/Tests/CacheClearer/ChainCacheClearerTest.php b/src/Symfony/Component/HttpKernel/Tests/CacheClearer/ChainCacheClearerTest.php index 9892db20ea..371ec6d632 100644 --- a/src/Symfony/Component/HttpKernel/Tests/CacheClearer/ChainCacheClearerTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/CacheClearer/ChainCacheClearerTest.php @@ -12,18 +12,21 @@ namespace Symfony\Component\HttpKernel\Tests\CacheClearer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpKernel\CacheClearer\ChainCacheClearer; class ChainCacheClearerTest extends TestCase { + use ForwardCompatTestTrait; + protected static $cacheDir; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { self::$cacheDir = tempnam(sys_get_temp_dir(), 'sf_cache_clearer_dir'); } - public static function tearDownAfterClass() + private static function doTearDownAfterClass() { @unlink(self::$cacheDir); } diff --git a/src/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerAggregateTest.php b/src/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerAggregateTest.php index 27e8f9f2af..17e424dc0b 100644 --- a/src/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerAggregateTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerAggregateTest.php @@ -12,18 +12,21 @@ namespace Symfony\Component\HttpKernel\Tests\CacheWarmer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerAggregate; class CacheWarmerAggregateTest extends TestCase { + use ForwardCompatTestTrait; + protected static $cacheDir; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { self::$cacheDir = tempnam(sys_get_temp_dir(), 'sf_cache_warmer_dir'); } - public static function tearDownAfterClass() + private static function doTearDownAfterClass() { @unlink(self::$cacheDir); } diff --git a/src/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerTest.php b/src/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerTest.php index cee8b55034..e620d6c8b4 100644 --- a/src/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerTest.php @@ -12,18 +12,21 @@ namespace Symfony\Component\HttpKernel\Tests\CacheWarmer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmer; class CacheWarmerTest extends TestCase { + use ForwardCompatTestTrait; + protected static $cacheFile; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { self::$cacheFile = tempnam(sys_get_temp_dir(), 'sf_cache_warmer_dir'); } - public static function tearDownAfterClass() + private static function doTearDownAfterClass() { @unlink(self::$cacheFile); } diff --git a/src/Symfony/Component/HttpKernel/Tests/Config/EnvParametersResourceTest.php b/src/Symfony/Component/HttpKernel/Tests/Config/EnvParametersResourceTest.php new file mode 100644 index 0000000000..cb9d67a329 --- /dev/null +++ b/src/Symfony/Component/HttpKernel/Tests/Config/EnvParametersResourceTest.php @@ -0,0 +1,113 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\HttpKernel\Tests\Config; + +use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; +use Symfony\Component\HttpKernel\Config\EnvParametersResource; + +/** + * @group legacy + */ +class EnvParametersResourceTest extends TestCase +{ + use ForwardCompatTestTrait; + + protected $prefix = '__DUMMY_'; + protected $initialEnv; + protected $resource; + + private function doSetUp() + { + $this->initialEnv = [ + $this->prefix.'1' => 'foo', + $this->prefix.'2' => 'bar', + ]; + + foreach ($this->initialEnv as $key => $value) { + $_SERVER[$key] = $value; + } + + $this->resource = new EnvParametersResource($this->prefix); + } + + private function doTearDown() + { + foreach ($_SERVER as $key => $value) { + if (0 === strpos($key, $this->prefix)) { + unset($_SERVER[$key]); + } + } + } + + public function testGetResource() + { + $this->assertSame( + ['prefix' => $this->prefix, 'variables' => $this->initialEnv], + $this->resource->getResource(), + '->getResource() returns the resource' + ); + } + + public function testToString() + { + $this->assertSame( + serialize(['prefix' => $this->prefix, 'variables' => $this->initialEnv]), + (string) $this->resource + ); + } + + public function testIsFreshNotChanged() + { + $this->assertTrue( + $this->resource->isFresh(time()), + '->isFresh() returns true if the variables have not changed' + ); + } + + public function testIsFreshValueChanged() + { + reset($this->initialEnv); + $_SERVER[key($this->initialEnv)] = 'baz'; + + $this->assertFalse( + $this->resource->isFresh(time()), + '->isFresh() returns false if a variable has been changed' + ); + } + + public function testIsFreshValueRemoved() + { + reset($this->initialEnv); + unset($_SERVER[key($this->initialEnv)]); + + $this->assertFalse( + $this->resource->isFresh(time()), + '->isFresh() returns false if a variable has been removed' + ); + } + + public function testIsFreshValueAdded() + { + $_SERVER[$this->prefix.'3'] = 'foo'; + + $this->assertFalse( + $this->resource->isFresh(time()), + '->isFresh() returns false if a variable has been added' + ); + } + + public function testSerializeUnserialize() + { + $this->assertEquals($this->resource, unserialize(serialize($this->resource))); + } +} diff --git a/src/Symfony/Component/HttpKernel/Tests/Controller/ArgumentResolverTest.php b/src/Symfony/Component/HttpKernel/Tests/Controller/ArgumentResolverTest.php index 017ffa0a41..0aa9c6722a 100644 --- a/src/Symfony/Component/HttpKernel/Tests/Controller/ArgumentResolverTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/Controller/ArgumentResolverTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpKernel\Tests\Controller; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Session\Session; use Symfony\Component\HttpFoundation\Session\SessionInterface; @@ -27,10 +28,12 @@ use Symfony\Component\HttpKernel\Tests\Fixtures\Controller\VariadicController; class ArgumentResolverTest extends TestCase { + use ForwardCompatTestTrait; + /** @var ArgumentResolver */ private static $resolver; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { $factory = new ArgumentMetadataFactory(); diff --git a/src/Symfony/Component/HttpKernel/Tests/ControllerMetadata/ArgumentMetadataFactoryTest.php b/src/Symfony/Component/HttpKernel/Tests/ControllerMetadata/ArgumentMetadataFactoryTest.php index 199d3a0e4b..3ee5ca1f83 100644 --- a/src/Symfony/Component/HttpKernel/Tests/ControllerMetadata/ArgumentMetadataFactoryTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/ControllerMetadata/ArgumentMetadataFactoryTest.php @@ -13,6 +13,7 @@ namespace Symfony\Component\HttpKernel\Tests\ControllerMetadata; use Fake\ImportedAndFake; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadataFactory; use Symfony\Component\HttpKernel\Tests\Fixtures\Controller\BasicTypesController; @@ -21,12 +22,14 @@ use Symfony\Component\HttpKernel\Tests\Fixtures\Controller\VariadicController; class ArgumentMetadataFactoryTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var ArgumentMetadataFactory */ private $factory; - protected function setUp() + private function doSetUp() { $this->factory = new ArgumentMetadataFactory(); } diff --git a/src/Symfony/Component/HttpKernel/Tests/DataCollector/Util/ValueExporterTest.php b/src/Symfony/Component/HttpKernel/Tests/DataCollector/Util/ValueExporterTest.php new file mode 100644 index 0000000000..3be1ef8eef --- /dev/null +++ b/src/Symfony/Component/HttpKernel/Tests/DataCollector/Util/ValueExporterTest.php @@ -0,0 +1,54 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\HttpKernel\Tests\DataCollector\Util; + +use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; +use Symfony\Component\HttpKernel\DataCollector\Util\ValueExporter; + +/** + * @group legacy + */ +class ValueExporterTest extends TestCase +{ + use ForwardCompatTestTrait; + + /** + * @var ValueExporter + */ + private $valueExporter; + + private function doSetUp() + { + $this->valueExporter = new ValueExporter(); + } + + public function testDateTime() + { + $dateTime = new \DateTime('2014-06-10 07:35:40', new \DateTimeZone('UTC')); + $this->assertSame('Object(DateTime) - 2014-06-10T07:35:40+00:00', $this->valueExporter->exportValue($dateTime)); + } + + public function testDateTimeImmutable() + { + $dateTime = new \DateTimeImmutable('2014-06-10 07:35:40', new \DateTimeZone('UTC')); + $this->assertSame('Object(DateTimeImmutable) - 2014-06-10T07:35:40+00:00', $this->valueExporter->exportValue($dateTime)); + } + + public function testIncompleteClass() + { + $foo = new \__PHP_Incomplete_Class(); + $array = new \ArrayObject($foo); + $array['__PHP_Incomplete_Class_Name'] = 'AppBundle/Foo'; + $this->assertSame('__PHP_Incomplete_Class(AppBundle/Foo)', $this->valueExporter->exportValue($foo)); + } +} diff --git a/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/ServicesResetterTest.php b/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/ServicesResetterTest.php index 86f1abdb05..a1c07a765a 100644 --- a/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/ServicesResetterTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/DependencyInjection/ServicesResetterTest.php @@ -12,13 +12,16 @@ namespace Symfony\Component\HttpKernel\Tests\DependencyInjection; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpKernel\DependencyInjection\ServicesResetter; use Symfony\Component\HttpKernel\Tests\Fixtures\ClearableService; use Symfony\Component\HttpKernel\Tests\Fixtures\ResettableService; class ServicesResetterTest extends TestCase { - protected function setUp() + use ForwardCompatTestTrait; + + private function doSetUp() { ResettableService::$counter = 0; ClearableService::$counter = 0; diff --git a/src/Symfony/Component/HttpKernel/Tests/EventListener/AddRequestFormatsListenerTest.php b/src/Symfony/Component/HttpKernel/Tests/EventListener/AddRequestFormatsListenerTest.php index 5bc1ff51ff..fb11f85980 100644 --- a/src/Symfony/Component/HttpKernel/Tests/EventListener/AddRequestFormatsListenerTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/EventListener/AddRequestFormatsListenerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpKernel\Tests\EventListener; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Event\RequestEvent; use Symfony\Component\HttpKernel\EventListener\AddRequestFormatsListener; @@ -24,17 +25,19 @@ use Symfony\Component\HttpKernel\KernelEvents; */ class AddRequestFormatsListenerTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var AddRequestFormatsListener */ private $listener; - protected function setUp() + private function doSetUp() { $this->listener = new AddRequestFormatsListener(['csv' => ['text/csv', 'text/plain']]); } - protected function tearDown() + private function doTearDown() { $this->listener = null; } diff --git a/src/Symfony/Component/HttpKernel/Tests/EventListener/LocaleListenerTest.php b/src/Symfony/Component/HttpKernel/Tests/EventListener/LocaleListenerTest.php index 925eb6f20e..6529a09303 100644 --- a/src/Symfony/Component/HttpKernel/Tests/EventListener/LocaleListenerTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/EventListener/LocaleListenerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpKernel\Tests\EventListener; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Event\RequestEvent; @@ -21,9 +22,11 @@ use Symfony\Component\HttpKernel\KernelEvents; class LocaleListenerTest extends TestCase { + use ForwardCompatTestTrait; + private $requestStack; - protected function setUp() + private function doSetUp() { $this->requestStack = $this->getMockBuilder('Symfony\Component\HttpFoundation\RequestStack')->disableOriginalConstructor()->getMock(); } diff --git a/src/Symfony/Component/HttpKernel/Tests/EventListener/ResponseListenerTest.php b/src/Symfony/Component/HttpKernel/Tests/EventListener/ResponseListenerTest.php index fbb2512c53..0e7d85247f 100644 --- a/src/Symfony/Component/HttpKernel/Tests/EventListener/ResponseListenerTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/EventListener/ResponseListenerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpKernel\Tests\EventListener; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; @@ -22,11 +23,13 @@ use Symfony\Component\HttpKernel\KernelEvents; class ResponseListenerTest extends TestCase { + use ForwardCompatTestTrait; + private $dispatcher; private $kernel; - protected function setUp() + private function doSetUp() { $this->dispatcher = new EventDispatcher(); $listener = new ResponseListener('UTF-8'); @@ -35,7 +38,7 @@ class ResponseListenerTest extends TestCase $this->kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernelInterface')->getMock(); } - protected function tearDown() + private function doTearDown() { $this->dispatcher = null; $this->kernel = null; diff --git a/src/Symfony/Component/HttpKernel/Tests/EventListener/RouterListenerTest.php b/src/Symfony/Component/HttpKernel/Tests/EventListener/RouterListenerTest.php index e416bb3582..a23a681e0b 100644 --- a/src/Symfony/Component/HttpKernel/Tests/EventListener/RouterListenerTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/EventListener/RouterListenerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpKernel\Tests\EventListener; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\RequestStack; @@ -29,9 +30,11 @@ use Symfony\Component\Routing\RequestContext; class RouterListenerTest extends TestCase { + use ForwardCompatTestTrait; + private $requestStack; - protected function setUp() + private function doSetUp() { $this->requestStack = $this->getMockBuilder('Symfony\Component\HttpFoundation\RequestStack')->disableOriginalConstructor()->getMock(); } diff --git a/src/Symfony/Component/HttpKernel/Tests/EventListener/TestSessionListenerTest.php b/src/Symfony/Component/HttpKernel/Tests/EventListener/TestSessionListenerTest.php index 1f0a6c628b..9c03cfa797 100644 --- a/src/Symfony/Component/HttpKernel/Tests/EventListener/TestSessionListenerTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/EventListener/TestSessionListenerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpKernel\Tests\EventListener; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Session\SessionInterface; @@ -30,6 +31,8 @@ use Symfony\Component\HttpKernel\HttpKernelInterface; */ class TestSessionListenerTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var TestSessionListener */ @@ -40,7 +43,7 @@ class TestSessionListenerTest extends TestCase */ private $session; - protected function setUp() + private function doSetUp() { $this->listener = $this->getMockForAbstractClass('Symfony\Component\HttpKernel\EventListener\AbstractTestSessionListener'); $this->session = $this->getSession(); diff --git a/src/Symfony/Component/HttpKernel/Tests/EventListener/ValidateRequestListenerTest.php b/src/Symfony/Component/HttpKernel/Tests/EventListener/ValidateRequestListenerTest.php index bbd596bc78..6f12720bd3 100644 --- a/src/Symfony/Component/HttpKernel/Tests/EventListener/ValidateRequestListenerTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/EventListener/ValidateRequestListenerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpKernel\Tests\EventListener; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Event\RequestEvent; @@ -21,7 +22,9 @@ use Symfony\Component\HttpKernel\KernelEvents; class ValidateRequestListenerTest extends TestCase { - protected function tearDown() + use ForwardCompatTestTrait; + + private function doTearDown() { Request::setTrustedProxies([], -1); } diff --git a/src/Symfony/Component/HttpKernel/Tests/Fragment/FragmentHandlerTest.php b/src/Symfony/Component/HttpKernel/Tests/Fragment/FragmentHandlerTest.php index e2e72df00c..f8b79c725d 100644 --- a/src/Symfony/Component/HttpKernel/Tests/Fragment/FragmentHandlerTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/Fragment/FragmentHandlerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpKernel\Tests\Fragment; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\Fragment\FragmentHandler; @@ -21,9 +22,11 @@ use Symfony\Component\HttpKernel\Fragment\FragmentHandler; */ class FragmentHandlerTest extends TestCase { + use ForwardCompatTestTrait; + private $requestStack; - protected function setUp() + private function doSetUp() { $this->requestStack = $this->getMockBuilder('Symfony\\Component\\HttpFoundation\\RequestStack') ->disableOriginalConstructor() diff --git a/src/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTestCase.php b/src/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTestCase.php index fde389c28f..ae512e6579 100644 --- a/src/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTestCase.php +++ b/src/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTestCase.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpKernel\Tests\HttpCache; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\HttpCache\Esi; use Symfony\Component\HttpKernel\HttpCache\HttpCache; @@ -20,6 +21,8 @@ use Symfony\Component\HttpKernel\HttpKernelInterface; class HttpCacheTestCase extends TestCase { + use ForwardCompatTestTrait; + protected $kernel; protected $cache; protected $caches; @@ -35,7 +38,7 @@ class HttpCacheTestCase extends TestCase */ protected $store; - protected function setUp() + private function doSetUp() { $this->kernel = null; @@ -53,7 +56,7 @@ class HttpCacheTestCase extends TestCase $this->clearDirectory(sys_get_temp_dir().'/http_cache'); } - protected function tearDown() + private function doTearDown() { if ($this->cache) { $this->cache->getStore()->cleanup(); diff --git a/src/Symfony/Component/HttpKernel/Tests/HttpCache/StoreTest.php b/src/Symfony/Component/HttpKernel/Tests/HttpCache/StoreTest.php index fc47ff2c88..a4c03abd62 100644 --- a/src/Symfony/Component/HttpKernel/Tests/HttpCache/StoreTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/HttpCache/StoreTest.php @@ -12,12 +12,15 @@ namespace Symfony\Component\HttpKernel\Tests\HttpCache; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\HttpCache\Store; class StoreTest extends TestCase { + use ForwardCompatTestTrait; + protected $request; protected $response; @@ -26,7 +29,7 @@ class StoreTest extends TestCase */ protected $store; - protected function setUp() + private function doSetUp() { $this->request = Request::create('/'); $this->response = new Response('hello world', 200, []); @@ -36,7 +39,7 @@ class StoreTest extends TestCase $this->store = new Store(sys_get_temp_dir().'/http_cache'); } - protected function tearDown() + private function doTearDown() { $this->store = null; $this->request = null; diff --git a/src/Symfony/Component/HttpKernel/Tests/HttpCache/SubRequestHandlerTest.php b/src/Symfony/Component/HttpKernel/Tests/HttpCache/SubRequestHandlerTest.php index 67b637bfe3..316b269f18 100644 --- a/src/Symfony/Component/HttpKernel/Tests/HttpCache/SubRequestHandlerTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/HttpCache/SubRequestHandlerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpKernel\Tests\HttpCache; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\HttpCache\SubRequestHandler; @@ -19,14 +20,16 @@ use Symfony\Component\HttpKernel\HttpKernelInterface; class SubRequestHandlerTest extends TestCase { + use ForwardCompatTestTrait; + private static $globalState; - protected function setUp() + private function doSetUp() { self::$globalState = $this->getGlobalState(); } - protected function tearDown() + private function doTearDown() { Request::setTrustedProxies(self::$globalState[0], self::$globalState[1]); } diff --git a/src/Symfony/Component/HttpKernel/Tests/KernelTest.php b/src/Symfony/Component/HttpKernel/Tests/KernelTest.php index b29409b1c0..3a0beb6a4c 100644 --- a/src/Symfony/Component/HttpKernel/Tests/KernelTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/KernelTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpKernel\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Config\Loader\LoaderInterface; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\ContainerBuilder; @@ -29,7 +30,9 @@ use Symfony\Component\HttpKernel\Tests\Fixtures\ResettableService; class KernelTest extends TestCase { - public static function tearDownAfterClass() + use ForwardCompatTestTrait; + + private static function doTearDownAfterClass() { $fs = new Filesystem(); $fs->remove(__DIR__.'/Fixtures/var'); diff --git a/src/Symfony/Component/HttpKernel/Tests/Log/LoggerTest.php b/src/Symfony/Component/HttpKernel/Tests/Log/LoggerTest.php index 3a5a8ade54..26e9a99abd 100644 --- a/src/Symfony/Component/HttpKernel/Tests/Log/LoggerTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/Log/LoggerTest.php @@ -14,6 +14,7 @@ namespace Symfony\Component\HttpKernel\Tests\Log; use PHPUnit\Framework\TestCase; use Psr\Log\LoggerInterface; use Psr\Log\LogLevel; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpKernel\Log\Logger; /** @@ -22,6 +23,8 @@ use Symfony\Component\HttpKernel\Log\Logger; */ class LoggerTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var LoggerInterface */ @@ -32,13 +35,13 @@ class LoggerTest extends TestCase */ private $tmpFile; - protected function setUp() + private function doSetUp() { $this->tmpFile = tempnam(sys_get_temp_dir(), 'log'); $this->logger = new Logger(LogLevel::DEBUG, $this->tmpFile); } - protected function tearDown() + private function doTearDown() { if (!@unlink($this->tmpFile)) { file_put_contents($this->tmpFile, ''); diff --git a/src/Symfony/Component/HttpKernel/Tests/Profiler/FileProfilerStorageTest.php b/src/Symfony/Component/HttpKernel/Tests/Profiler/FileProfilerStorageTest.php index bf4cd17d16..61eee689ef 100644 --- a/src/Symfony/Component/HttpKernel/Tests/Profiler/FileProfilerStorageTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/Profiler/FileProfilerStorageTest.php @@ -12,15 +12,18 @@ namespace Symfony\Component\HttpKernel\Tests\Profiler; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpKernel\Profiler\FileProfilerStorage; use Symfony\Component\HttpKernel\Profiler\Profile; class FileProfilerStorageTest extends TestCase { + use ForwardCompatTestTrait; + private $tmpDir; private $storage; - protected function setUp() + private function doSetUp() { $this->tmpDir = sys_get_temp_dir().'/sf_profiler_file_storage'; if (is_dir($this->tmpDir)) { @@ -30,7 +33,7 @@ class FileProfilerStorageTest extends TestCase $this->storage->purge(); } - protected function tearDown() + private function doTearDown() { self::cleanDir(); } diff --git a/src/Symfony/Component/HttpKernel/Tests/Profiler/ProfilerTest.php b/src/Symfony/Component/HttpKernel/Tests/Profiler/ProfilerTest.php index 35aa8ea5dc..dfaf38ad2e 100644 --- a/src/Symfony/Component/HttpKernel/Tests/Profiler/ProfilerTest.php +++ b/src/Symfony/Component/HttpKernel/Tests/Profiler/ProfilerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpKernel\Tests\Profiler; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\DataCollector\DataCollectorInterface; @@ -21,6 +22,8 @@ use Symfony\Component\HttpKernel\Profiler\Profiler; class ProfilerTest extends TestCase { + use ForwardCompatTestTrait; + private $tmp; private $storage; @@ -82,7 +85,7 @@ class ProfilerTest extends TestCase $this->assertCount(0, $profiler->find(null, null, null, null, null, null, '204')); } - protected function setUp() + private function doSetUp() { $this->tmp = tempnam(sys_get_temp_dir(), 'sf_profiler'); if (file_exists($this->tmp)) { @@ -93,7 +96,7 @@ class ProfilerTest extends TestCase $this->storage->purge(); } - protected function tearDown() + private function doTearDown() { if (null !== $this->storage) { $this->storage->purge(); diff --git a/src/Symfony/Component/Intl/Tests/Collator/Verification/CollatorTest.php b/src/Symfony/Component/Intl/Tests/Collator/Verification/CollatorTest.php index 378463cac8..662fad7645 100644 --- a/src/Symfony/Component/Intl/Tests/Collator/Verification/CollatorTest.php +++ b/src/Symfony/Component/Intl/Tests/Collator/Verification/CollatorTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Intl\Tests\Collator\Verification; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Intl\Tests\Collator\AbstractCollatorTest; use Symfony\Component\Intl\Util\IntlTestHelper; @@ -22,7 +23,9 @@ use Symfony\Component\Intl\Util\IntlTestHelper; */ class CollatorTest extends AbstractCollatorTest { - protected function setUp() + use ForwardCompatTestTrait; + + private function doSetUp() { IntlTestHelper::requireFullIntl($this, false); diff --git a/src/Symfony/Component/Intl/Tests/Data/Bundle/Reader/BundleEntryReaderTest.php b/src/Symfony/Component/Intl/Tests/Data/Bundle/Reader/BundleEntryReaderTest.php index 3357b039ea..02f9830de4 100644 --- a/src/Symfony/Component/Intl/Tests/Data/Bundle/Reader/BundleEntryReaderTest.php +++ b/src/Symfony/Component/Intl/Tests/Data/Bundle/Reader/BundleEntryReaderTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Intl\Tests\Data\Bundle\Reader; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Intl\Data\Bundle\Reader\BundleEntryReader; use Symfony\Component\Intl\Exception\ResourceBundleNotFoundException; @@ -20,6 +21,8 @@ use Symfony\Component\Intl\Exception\ResourceBundleNotFoundException; */ class BundleEntryReaderTest extends TestCase { + use ForwardCompatTestTrait; + const RES_DIR = '/res/dir'; /** @@ -61,7 +64,7 @@ class BundleEntryReaderTest extends TestCase 'Foo' => 'Bar', ]; - protected function setUp() + private function doSetUp() { $this->readerImpl = $this->getMockBuilder('Symfony\Component\Intl\Data\Bundle\Reader\BundleEntryReaderInterface')->getMock(); $this->reader = new BundleEntryReader($this->readerImpl); diff --git a/src/Symfony/Component/Intl/Tests/Data/Bundle/Reader/IntlBundleReaderTest.php b/src/Symfony/Component/Intl/Tests/Data/Bundle/Reader/IntlBundleReaderTest.php index 3a779f6fc6..a3cc63669b 100644 --- a/src/Symfony/Component/Intl/Tests/Data/Bundle/Reader/IntlBundleReaderTest.php +++ b/src/Symfony/Component/Intl/Tests/Data/Bundle/Reader/IntlBundleReaderTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Intl\Tests\Data\Bundle\Reader; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Intl\Data\Bundle\Reader\IntlBundleReader; /** @@ -20,12 +21,14 @@ use Symfony\Component\Intl\Data\Bundle\Reader\IntlBundleReader; */ class IntlBundleReaderTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var IntlBundleReader */ private $reader; - protected function setUp() + private function doSetUp() { $this->reader = new IntlBundleReader(); } diff --git a/src/Symfony/Component/Intl/Tests/Data/Bundle/Reader/JsonBundleReaderTest.php b/src/Symfony/Component/Intl/Tests/Data/Bundle/Reader/JsonBundleReaderTest.php index dd0cf9cd87..a40f4dce56 100644 --- a/src/Symfony/Component/Intl/Tests/Data/Bundle/Reader/JsonBundleReaderTest.php +++ b/src/Symfony/Component/Intl/Tests/Data/Bundle/Reader/JsonBundleReaderTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Intl\Tests\Data\Bundle\Reader; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Intl\Data\Bundle\Reader\JsonBundleReader; /** @@ -19,12 +20,14 @@ use Symfony\Component\Intl\Data\Bundle\Reader\JsonBundleReader; */ class JsonBundleReaderTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var JsonBundleReader */ private $reader; - protected function setUp() + private function doSetUp() { $this->reader = new JsonBundleReader(); } diff --git a/src/Symfony/Component/Intl/Tests/Data/Bundle/Reader/PhpBundleReaderTest.php b/src/Symfony/Component/Intl/Tests/Data/Bundle/Reader/PhpBundleReaderTest.php index f6adae9b7d..651fea0116 100644 --- a/src/Symfony/Component/Intl/Tests/Data/Bundle/Reader/PhpBundleReaderTest.php +++ b/src/Symfony/Component/Intl/Tests/Data/Bundle/Reader/PhpBundleReaderTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Intl\Tests\Data\Bundle\Reader; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Intl\Data\Bundle\Reader\PhpBundleReader; /** @@ -19,12 +20,14 @@ use Symfony\Component\Intl\Data\Bundle\Reader\PhpBundleReader; */ class PhpBundleReaderTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var PhpBundleReader */ private $reader; - protected function setUp() + private function doSetUp() { $this->reader = new PhpBundleReader(); } diff --git a/src/Symfony/Component/Intl/Tests/Data/Bundle/Writer/JsonBundleWriterTest.php b/src/Symfony/Component/Intl/Tests/Data/Bundle/Writer/JsonBundleWriterTest.php index f56bc84385..1b99e5004b 100644 --- a/src/Symfony/Component/Intl/Tests/Data/Bundle/Writer/JsonBundleWriterTest.php +++ b/src/Symfony/Component/Intl/Tests/Data/Bundle/Writer/JsonBundleWriterTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Intl\Tests\Data\Bundle\Writer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\Intl\Data\Bundle\Writer\JsonBundleWriter; @@ -20,6 +21,8 @@ use Symfony\Component\Intl\Data\Bundle\Writer\JsonBundleWriter; */ class JsonBundleWriterTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var JsonBundleWriter */ @@ -32,7 +35,7 @@ class JsonBundleWriterTest extends TestCase */ private $filesystem; - protected function setUp() + private function doSetUp() { $this->writer = new JsonBundleWriter(); $this->directory = sys_get_temp_dir().'/JsonBundleWriterTest/'.mt_rand(1000, 9999); @@ -41,7 +44,7 @@ class JsonBundleWriterTest extends TestCase $this->filesystem->mkdir($this->directory); } - protected function tearDown() + private function doTearDown() { $this->filesystem->remove($this->directory); } diff --git a/src/Symfony/Component/Intl/Tests/Data/Bundle/Writer/PhpBundleWriterTest.php b/src/Symfony/Component/Intl/Tests/Data/Bundle/Writer/PhpBundleWriterTest.php index 8010f9574a..e2e12a7d71 100644 --- a/src/Symfony/Component/Intl/Tests/Data/Bundle/Writer/PhpBundleWriterTest.php +++ b/src/Symfony/Component/Intl/Tests/Data/Bundle/Writer/PhpBundleWriterTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Intl\Tests\Data\Bundle\Writer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\Intl\Data\Bundle\Writer\PhpBundleWriter; @@ -20,6 +21,8 @@ use Symfony\Component\Intl\Data\Bundle\Writer\PhpBundleWriter; */ class PhpBundleWriterTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var PhpBundleWriter */ @@ -32,7 +35,7 @@ class PhpBundleWriterTest extends TestCase */ private $filesystem; - protected function setUp() + private function doSetUp() { $this->writer = new PhpBundleWriter(); $this->directory = sys_get_temp_dir().'/PhpBundleWriterTest/'.mt_rand(1000, 9999); @@ -41,7 +44,7 @@ class PhpBundleWriterTest extends TestCase $this->filesystem->mkdir($this->directory); } - protected function tearDown() + private function doTearDown() { $this->filesystem->remove($this->directory); } diff --git a/src/Symfony/Component/Intl/Tests/Data/Bundle/Writer/TextBundleWriterTest.php b/src/Symfony/Component/Intl/Tests/Data/Bundle/Writer/TextBundleWriterTest.php index 2c0e70e019..369206db2b 100644 --- a/src/Symfony/Component/Intl/Tests/Data/Bundle/Writer/TextBundleWriterTest.php +++ b/src/Symfony/Component/Intl/Tests/Data/Bundle/Writer/TextBundleWriterTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Intl\Tests\Data\Bundle\Writer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\Intl\Data\Bundle\Writer\TextBundleWriter; @@ -22,6 +23,8 @@ use Symfony\Component\Intl\Data\Bundle\Writer\TextBundleWriter; */ class TextBundleWriterTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var TextBundleWriter */ @@ -34,7 +37,7 @@ class TextBundleWriterTest extends TestCase */ private $filesystem; - protected function setUp() + private function doSetUp() { $this->writer = new TextBundleWriter(); $this->directory = sys_get_temp_dir().'/TextBundleWriterTest/'.mt_rand(1000, 9999); @@ -43,7 +46,7 @@ class TextBundleWriterTest extends TestCase $this->filesystem->mkdir($this->directory); } - protected function tearDown() + private function doTearDown() { $this->filesystem->remove($this->directory); } diff --git a/src/Symfony/Component/Intl/Tests/Data/Util/LocaleScannerTest.php b/src/Symfony/Component/Intl/Tests/Data/Util/LocaleScannerTest.php index 03a616a6ab..4d3fce9737 100644 --- a/src/Symfony/Component/Intl/Tests/Data/Util/LocaleScannerTest.php +++ b/src/Symfony/Component/Intl/Tests/Data/Util/LocaleScannerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Intl\Tests\Data\Util; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\Intl\Data\Util\LocaleScanner; @@ -20,6 +21,8 @@ use Symfony\Component\Intl\Data\Util\LocaleScanner; */ class LocaleScannerTest extends TestCase { + use ForwardCompatTestTrait; + private $directory; /** @@ -32,7 +35,7 @@ class LocaleScannerTest extends TestCase */ private $scanner; - protected function setUp() + private function doSetUp() { $this->directory = sys_get_temp_dir().'/LocaleScannerTest/'.mt_rand(1000, 9999); $this->filesystem = new Filesystem(); @@ -62,7 +65,7 @@ class LocaleScannerTest extends TestCase file_put_contents($this->directory.'/fr_child.txt', 'en_GB{%%Parent{"fr"}}'); } - protected function tearDown() + private function doTearDown() { $this->filesystem->remove($this->directory); } diff --git a/src/Symfony/Component/Intl/Tests/Data/Util/RingBufferTest.php b/src/Symfony/Component/Intl/Tests/Data/Util/RingBufferTest.php index f13bf36c96..425c0bba04 100644 --- a/src/Symfony/Component/Intl/Tests/Data/Util/RingBufferTest.php +++ b/src/Symfony/Component/Intl/Tests/Data/Util/RingBufferTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Intl\Tests\Data\Util; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Intl\Data\Util\RingBuffer; /** @@ -19,12 +20,14 @@ use Symfony\Component\Intl\Data\Util\RingBuffer; */ class RingBufferTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var RingBuffer */ private $buffer; - protected function setUp() + private function doSetUp() { $this->buffer = new RingBuffer(2); } diff --git a/src/Symfony/Component/Intl/Tests/DateFormatter/AbstractIntlDateFormatterTest.php b/src/Symfony/Component/Intl/Tests/DateFormatter/AbstractIntlDateFormatterTest.php index 110fd63f7a..96fd1414ed 100644 --- a/src/Symfony/Component/Intl/Tests/DateFormatter/AbstractIntlDateFormatterTest.php +++ b/src/Symfony/Component/Intl/Tests/DateFormatter/AbstractIntlDateFormatterTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Intl\Tests\DateFormatter; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Intl\DateFormatter\IntlDateFormatter; use Symfony\Component\Intl\Globals\IntlGlobals; use Symfony\Component\Intl\Intl; @@ -24,7 +25,9 @@ use Symfony\Component\Intl\Util\IcuVersion; */ abstract class AbstractIntlDateFormatterTest extends TestCase { - protected function setUp() + use ForwardCompatTestTrait; + + private function doSetUp() { \Locale::setDefault('en'); } diff --git a/src/Symfony/Component/Intl/Tests/DateFormatter/Verification/IntlDateFormatterTest.php b/src/Symfony/Component/Intl/Tests/DateFormatter/Verification/IntlDateFormatterTest.php index 8d5912ca6c..a94e317be8 100644 --- a/src/Symfony/Component/Intl/Tests/DateFormatter/Verification/IntlDateFormatterTest.php +++ b/src/Symfony/Component/Intl/Tests/DateFormatter/Verification/IntlDateFormatterTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Intl\Tests\DateFormatter\Verification; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Intl\DateFormatter\IntlDateFormatter; use Symfony\Component\Intl\Tests\DateFormatter\AbstractIntlDateFormatterTest; use Symfony\Component\Intl\Util\IntlTestHelper; @@ -23,7 +24,9 @@ use Symfony\Component\Intl\Util\IntlTestHelper; */ class IntlDateFormatterTest extends AbstractIntlDateFormatterTest { - protected function setUp() + use ForwardCompatTestTrait; + + private function doSetUp() { IntlTestHelper::requireFullIntl($this, false); diff --git a/src/Symfony/Component/Intl/Tests/Globals/Verification/IntlGlobalsTest.php b/src/Symfony/Component/Intl/Tests/Globals/Verification/IntlGlobalsTest.php index b5cd1c13c3..c6c2097349 100644 --- a/src/Symfony/Component/Intl/Tests/Globals/Verification/IntlGlobalsTest.php +++ b/src/Symfony/Component/Intl/Tests/Globals/Verification/IntlGlobalsTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Intl\Tests\Globals\Verification; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Intl\Tests\Globals\AbstractIntlGlobalsTest; use Symfony\Component\Intl\Util\IntlTestHelper; @@ -22,7 +23,9 @@ use Symfony\Component\Intl\Util\IntlTestHelper; */ class IntlGlobalsTest extends AbstractIntlGlobalsTest { - protected function setUp() + use ForwardCompatTestTrait; + + private function doSetUp() { IntlTestHelper::requireFullIntl($this, false); diff --git a/src/Symfony/Component/Intl/Tests/Locale/Verification/LocaleTest.php b/src/Symfony/Component/Intl/Tests/Locale/Verification/LocaleTest.php index 8738b559bf..b6263c8815 100644 --- a/src/Symfony/Component/Intl/Tests/Locale/Verification/LocaleTest.php +++ b/src/Symfony/Component/Intl/Tests/Locale/Verification/LocaleTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Intl\Tests\Locale\Verification; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Intl\Tests\Locale\AbstractLocaleTest; use Symfony\Component\Intl\Util\IntlTestHelper; @@ -22,7 +23,9 @@ use Symfony\Component\Intl\Util\IntlTestHelper; */ class LocaleTest extends AbstractLocaleTest { - protected function setUp() + use ForwardCompatTestTrait; + + private function doSetUp() { IntlTestHelper::requireFullIntl($this, false); diff --git a/src/Symfony/Component/Intl/Tests/NumberFormatter/Verification/NumberFormatterTest.php b/src/Symfony/Component/Intl/Tests/NumberFormatter/Verification/NumberFormatterTest.php index 2e1e9e5bb6..38dd258fa1 100644 --- a/src/Symfony/Component/Intl/Tests/NumberFormatter/Verification/NumberFormatterTest.php +++ b/src/Symfony/Component/Intl/Tests/NumberFormatter/Verification/NumberFormatterTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Intl\Tests\NumberFormatter\Verification; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Intl\Tests\NumberFormatter\AbstractNumberFormatterTest; use Symfony\Component\Intl\Util\IntlTestHelper; @@ -20,7 +21,9 @@ use Symfony\Component\Intl\Util\IntlTestHelper; */ class NumberFormatterTest extends AbstractNumberFormatterTest { - protected function setUp() + use ForwardCompatTestTrait; + + private function doSetUp() { IntlTestHelper::requireFullIntl($this, '55.1'); diff --git a/src/Symfony/Component/Ldap/Tests/Adapter/ExtLdap/LdapManagerTest.php b/src/Symfony/Component/Ldap/Tests/Adapter/ExtLdap/LdapManagerTest.php index bca5b0ec8f..1fb2ac4996 100644 --- a/src/Symfony/Component/Ldap/Tests/Adapter/ExtLdap/LdapManagerTest.php +++ b/src/Symfony/Component/Ldap/Tests/Adapter/ExtLdap/LdapManagerTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Ldap\Tests; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Ldap\Adapter\ExtLdap\Adapter; use Symfony\Component\Ldap\Adapter\ExtLdap\Collection; use Symfony\Component\Ldap\Adapter\ExtLdap\UpdateOperation; @@ -25,10 +26,12 @@ use Symfony\Component\Ldap\Exception\UpdateOperationException; */ class LdapManagerTest extends LdapTestCase { + use ForwardCompatTestTrait; + /** @var Adapter */ private $adapter; - protected function setUp() + private function doSetUp() { $this->adapter = new Adapter($this->getLdapConfig()); $this->adapter->getConnection()->bind('cn=admin,dc=symfony,dc=com', 'symfony'); diff --git a/src/Symfony/Component/Ldap/Tests/LdapClientTest.php b/src/Symfony/Component/Ldap/Tests/LdapClientTest.php new file mode 100644 index 0000000000..0fd34061d9 --- /dev/null +++ b/src/Symfony/Component/Ldap/Tests/LdapClientTest.php @@ -0,0 +1,232 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Ldap\Tests; + +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; +use Symfony\Component\Ldap\Adapter\CollectionInterface; +use Symfony\Component\Ldap\Adapter\QueryInterface; +use Symfony\Component\Ldap\Entry; +use Symfony\Component\Ldap\LdapClient; +use Symfony\Component\Ldap\LdapInterface; + +/** + * @group legacy + */ +class LdapClientTest extends LdapTestCase +{ + use ForwardCompatTestTrait; + + /** @var LdapClient */ + private $client; + /** @var \PHPUnit_Framework_MockObject_MockObject */ + private $ldap; + + private function doSetUp() + { + $this->ldap = $this->getMockBuilder(LdapInterface::class)->getMock(); + + $this->client = new LdapClient(null, 389, 3, false, false, false, $this->ldap); + } + + public function testLdapBind() + { + $this->ldap + ->expects($this->once()) + ->method('bind') + ->with('foo', 'bar') + ; + $this->client->bind('foo', 'bar'); + } + + public function testLdapEscape() + { + $this->ldap + ->expects($this->once()) + ->method('escape') + ->with('foo', 'bar', 'baz') + ; + $this->client->escape('foo', 'bar', 'baz'); + } + + public function testLdapQuery() + { + $this->ldap + ->expects($this->once()) + ->method('query') + ->with('foo', 'bar', ['baz']) + ; + $this->client->query('foo', 'bar', ['baz']); + } + + public function testLdapFind() + { + $collection = $this->getMockBuilder(CollectionInterface::class)->getMock(); + $collection + ->expects($this->once()) + ->method('getIterator') + ->willReturn(new \ArrayIterator([ + new Entry('cn=qux,dc=foo,dc=com', [ + 'cn' => ['qux'], + 'dc' => ['com', 'foo'], + 'givenName' => ['Qux'], + ]), + new Entry('cn=baz,dc=foo,dc=com', [ + 'cn' => ['baz'], + 'dc' => ['com', 'foo'], + 'givenName' => ['Baz'], + ]), + ])) + ; + $query = $this->getMockBuilder(QueryInterface::class)->getMock(); + $query + ->expects($this->once()) + ->method('execute') + ->willReturn($collection) + ; + $this->ldap + ->expects($this->once()) + ->method('query') + ->with('dc=foo,dc=com', 'bar', ['filter' => 'baz']) + ->willReturn($query) + ; + + $expected = [ + 'count' => 2, + 0 => [ + 'count' => 3, + 0 => 'cn', + 'cn' => [ + 'count' => 1, + 0 => 'qux', + ], + 1 => 'dc', + 'dc' => [ + 'count' => 2, + 0 => 'com', + 1 => 'foo', + ], + 2 => 'givenname', + 'givenname' => [ + 'count' => 1, + 0 => 'Qux', + ], + 'dn' => 'cn=qux,dc=foo,dc=com', + ], + 1 => [ + 'count' => 3, + 0 => 'cn', + 'cn' => [ + 'count' => 1, + 0 => 'baz', + ], + 1 => 'dc', + 'dc' => [ + 'count' => 2, + 0 => 'com', + 1 => 'foo', + ], + 2 => 'givenname', + 'givenname' => [ + 'count' => 1, + 0 => 'Baz', + ], + 'dn' => 'cn=baz,dc=foo,dc=com', + ], + ]; + $this->assertEquals($expected, $this->client->find('dc=foo,dc=com', 'bar', 'baz')); + } + + /** + * @dataProvider provideConfig + */ + public function testLdapClientConfig($args, $expected) + { + $reflObj = new \ReflectionObject($this->client); + $reflMethod = $reflObj->getMethod('normalizeConfig'); + $reflMethod->setAccessible(true); + array_unshift($args, $this->client); + $this->assertEquals($expected, \call_user_func_array([$reflMethod, 'invoke'], $args)); + } + + /** + * @group functional + * @requires extension ldap + */ + public function testLdapClientFunctional() + { + $config = $this->getLdapConfig(); + $ldap = new LdapClient($config['host'], $config['port']); + $ldap->bind('cn=admin,dc=symfony,dc=com', 'symfony'); + $result = $ldap->find('dc=symfony,dc=com', '(&(objectclass=person)(ou=Maintainers))'); + + $con = @ldap_connect($config['host'], $config['port']); + @ldap_bind($con, 'cn=admin,dc=symfony,dc=com', 'symfony'); + $search = @ldap_search($con, 'dc=symfony,dc=com', '(&(objectclass=person)(ou=Maintainers))', ['*']); + $expected = @ldap_get_entries($con, $search); + + $this->assertSame($expected, $result); + } + + public function provideConfig() + { + return [ + [ + ['localhost', 389, 3, true, false, false], + [ + 'host' => 'localhost', + 'port' => 389, + 'encryption' => 'ssl', + 'options' => [ + 'protocol_version' => 3, + 'referrals' => false, + ], + ], + ], + [ + ['localhost', 389, 3, false, true, false], + [ + 'host' => 'localhost', + 'port' => 389, + 'encryption' => 'tls', + 'options' => [ + 'protocol_version' => 3, + 'referrals' => false, + ], + ], + ], + [ + ['localhost', 389, 3, false, false, false], + [ + 'host' => 'localhost', + 'port' => 389, + 'encryption' => 'none', + 'options' => [ + 'protocol_version' => 3, + 'referrals' => false, + ], + ], + ], + [ + ['localhost', 389, 3, false, false, false], + [ + 'host' => 'localhost', + 'port' => 389, + 'encryption' => 'none', + 'options' => [ + 'protocol_version' => 3, + 'referrals' => false, + ], + ], + ], + ]; + } +} diff --git a/src/Symfony/Component/Ldap/Tests/LdapTest.php b/src/Symfony/Component/Ldap/Tests/LdapTest.php index 1a5183276e..568e0b5cab 100644 --- a/src/Symfony/Component/Ldap/Tests/LdapTest.php +++ b/src/Symfony/Component/Ldap/Tests/LdapTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Ldap\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Ldap\Adapter\AdapterInterface; use Symfony\Component\Ldap\Adapter\ConnectionInterface; use Symfony\Component\Ldap\Exception\DriverNotFoundException; @@ -19,13 +20,15 @@ use Symfony\Component\Ldap\Ldap; class LdapTest extends TestCase { + use ForwardCompatTestTrait; + /** @var \PHPUnit_Framework_MockObject_MockObject */ private $adapter; /** @var Ldap */ private $ldap; - protected function setUp() + private function doSetUp() { $this->adapter = $this->getMockBuilder(AdapterInterface::class)->getMock(); $this->ldap = new Ldap($this->adapter); diff --git a/src/Symfony/Component/Lock/Tests/Store/CombinedStoreTest.php b/src/Symfony/Component/Lock/Tests/Store/CombinedStoreTest.php index 15ceb42bb5..3cc258c3b7 100644 --- a/src/Symfony/Component/Lock/Tests/Store/CombinedStoreTest.php +++ b/src/Symfony/Component/Lock/Tests/Store/CombinedStoreTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Lock\Tests\Store; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Lock\BlockingStoreInterface; use Symfony\Component\Lock\Exception\LockConflictedException; use Symfony\Component\Lock\Key; @@ -25,6 +26,7 @@ use Symfony\Component\Lock\Strategy\UnanimousStrategy; */ class CombinedStoreTest extends AbstractStoreTest { + use ForwardCompatTestTrait; use ExpiringStoreTestTrait; /** @@ -59,7 +61,7 @@ class CombinedStoreTest extends AbstractStoreTest /** @var CombinedStore */ private $store; - protected function setUp() + private function doSetUp() { $this->strategy = $this->getMockBuilder(StrategyInterface::class)->getMock(); $this->store1 = $this->createMock(BlockingStoreInterface::class); diff --git a/src/Symfony/Component/Lock/Tests/Store/MemcachedStoreTest.php b/src/Symfony/Component/Lock/Tests/Store/MemcachedStoreTest.php index 345fc7e249..dfc8dfba0d 100644 --- a/src/Symfony/Component/Lock/Tests/Store/MemcachedStoreTest.php +++ b/src/Symfony/Component/Lock/Tests/Store/MemcachedStoreTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Lock\Tests\Store; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Lock\Key; use Symfony\Component\Lock\Store\MemcachedStore; @@ -21,9 +22,10 @@ use Symfony\Component\Lock\Store\MemcachedStore; */ class MemcachedStoreTest extends AbstractStoreTest { + use ForwardCompatTestTrait; use ExpiringStoreTestTrait; - public static function setupBeforeClass() + private static function doSetUpBeforeClass() { $memcached = new \Memcached(); $memcached->addServer(getenv('MEMCACHED_HOST'), 11211); diff --git a/src/Symfony/Component/Lock/Tests/Store/PredisStoreTest.php b/src/Symfony/Component/Lock/Tests/Store/PredisStoreTest.php index 621affecb5..1d5f50e179 100644 --- a/src/Symfony/Component/Lock/Tests/Store/PredisStoreTest.php +++ b/src/Symfony/Component/Lock/Tests/Store/PredisStoreTest.php @@ -11,12 +11,16 @@ namespace Symfony\Component\Lock\Tests\Store; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; + /** * @author Jérémy Derussé */ class PredisStoreTest extends AbstractRedisStoreTest { - public static function setupBeforeClass() + use ForwardCompatTestTrait; + + private static function doSetUpBeforeClass() { $redis = new \Predis\Client('tcp://'.getenv('REDIS_HOST').':6379'); try { diff --git a/src/Symfony/Component/Lock/Tests/Store/RedisArrayStoreTest.php b/src/Symfony/Component/Lock/Tests/Store/RedisArrayStoreTest.php index 7d915615a7..eae72f5fba 100644 --- a/src/Symfony/Component/Lock/Tests/Store/RedisArrayStoreTest.php +++ b/src/Symfony/Component/Lock/Tests/Store/RedisArrayStoreTest.php @@ -11,6 +11,8 @@ namespace Symfony\Component\Lock\Tests\Store; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; + /** * @author Jérémy Derussé * @@ -18,7 +20,9 @@ namespace Symfony\Component\Lock\Tests\Store; */ class RedisArrayStoreTest extends AbstractRedisStoreTest { - public static function setupBeforeClass() + use ForwardCompatTestTrait; + + private static function doSetUpBeforeClass() { if (!class_exists('RedisArray')) { self::markTestSkipped('The RedisArray class is required.'); diff --git a/src/Symfony/Component/Lock/Tests/Store/RedisClusterStoreTest.php b/src/Symfony/Component/Lock/Tests/Store/RedisClusterStoreTest.php index 2ee17888eb..b495acfb77 100644 --- a/src/Symfony/Component/Lock/Tests/Store/RedisClusterStoreTest.php +++ b/src/Symfony/Component/Lock/Tests/Store/RedisClusterStoreTest.php @@ -11,6 +11,8 @@ namespace Symfony\Component\Lock\Tests\Store; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; + /** * @author Jérémy Derussé * @@ -18,7 +20,9 @@ namespace Symfony\Component\Lock\Tests\Store; */ class RedisClusterStoreTest extends AbstractRedisStoreTest { - public static function setupBeforeClass() + use ForwardCompatTestTrait; + + private static function doSetUpBeforeClass() { if (!class_exists('RedisCluster')) { self::markTestSkipped('The RedisCluster class is required.'); diff --git a/src/Symfony/Component/Lock/Tests/Store/RedisStoreTest.php b/src/Symfony/Component/Lock/Tests/Store/RedisStoreTest.php index 878c48305d..17edd80fe2 100644 --- a/src/Symfony/Component/Lock/Tests/Store/RedisStoreTest.php +++ b/src/Symfony/Component/Lock/Tests/Store/RedisStoreTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Lock\Tests\Store; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Lock\Store\RedisStore; /** @@ -20,7 +21,9 @@ use Symfony\Component\Lock\Store\RedisStore; */ class RedisStoreTest extends AbstractRedisStoreTest { - public static function setupBeforeClass() + use ForwardCompatTestTrait; + + private static function doSetUpBeforeClass() { if (!@((new \Redis())->connect(getenv('REDIS_HOST')))) { $e = error_get_last(); diff --git a/src/Symfony/Component/Lock/Tests/Strategy/ConsensusStrategyTest.php b/src/Symfony/Component/Lock/Tests/Strategy/ConsensusStrategyTest.php index 8034cfe7cf..da2a74e178 100644 --- a/src/Symfony/Component/Lock/Tests/Strategy/ConsensusStrategyTest.php +++ b/src/Symfony/Component/Lock/Tests/Strategy/ConsensusStrategyTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Lock\Tests\Strategy; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Lock\Strategy\ConsensusStrategy; /** @@ -19,10 +20,12 @@ use Symfony\Component\Lock\Strategy\ConsensusStrategy; */ class ConsensusStrategyTest extends TestCase { + use ForwardCompatTestTrait; + /** @var ConsensusStrategy */ private $strategy; - protected function setUp() + private function doSetUp() { $this->strategy = new ConsensusStrategy(); } diff --git a/src/Symfony/Component/Lock/Tests/Strategy/UnanimousStrategyTest.php b/src/Symfony/Component/Lock/Tests/Strategy/UnanimousStrategyTest.php index a07b42ddf5..44d927d40a 100644 --- a/src/Symfony/Component/Lock/Tests/Strategy/UnanimousStrategyTest.php +++ b/src/Symfony/Component/Lock/Tests/Strategy/UnanimousStrategyTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Lock\Tests\Strategy; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Lock\Strategy\UnanimousStrategy; /** @@ -19,10 +20,12 @@ use Symfony\Component\Lock\Strategy\UnanimousStrategy; */ class UnanimousStrategyTest extends TestCase { + use ForwardCompatTestTrait; + /** @var UnanimousStrategy */ private $strategy; - protected function setUp() + private function doSetUp() { $this->strategy = new UnanimousStrategy(); } diff --git a/src/Symfony/Component/OptionsResolver/Tests/OptionsResolverTest.php b/src/Symfony/Component/OptionsResolver/Tests/OptionsResolverTest.php index 98ce4082ec..0cdf77c570 100644 --- a/src/Symfony/Component/OptionsResolver/Tests/OptionsResolverTest.php +++ b/src/Symfony/Component/OptionsResolver/Tests/OptionsResolverTest.php @@ -13,18 +13,21 @@ namespace Symfony\Component\OptionsResolver\Tests; use PHPUnit\Framework\Assert; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\OptionsResolver\Exception\InvalidOptionsException; use Symfony\Component\OptionsResolver\Options; use Symfony\Component\OptionsResolver\OptionsResolver; class OptionsResolverTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var OptionsResolver */ private $resolver; - protected function setUp() + private function doSetUp() { $this->resolver = new OptionsResolver(); } diff --git a/src/Symfony/Component/Process/Tests/ExecutableFinderTest.php b/src/Symfony/Component/Process/Tests/ExecutableFinderTest.php index 65d5451a0a..119dcbf51e 100644 --- a/src/Symfony/Component/Process/Tests/ExecutableFinderTest.php +++ b/src/Symfony/Component/Process/Tests/ExecutableFinderTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Process\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Process\ExecutableFinder; /** @@ -19,9 +20,11 @@ use Symfony\Component\Process\ExecutableFinder; */ class ExecutableFinderTest extends TestCase { + use ForwardCompatTestTrait; + private $path; - protected function tearDown() + private function doTearDown() { if ($this->path) { // Restore path if it was changed. diff --git a/src/Symfony/Component/Process/Tests/ProcessTest.php b/src/Symfony/Component/Process/Tests/ProcessTest.php index 6318355727..e9d5a83bae 100644 --- a/src/Symfony/Component/Process/Tests/ProcessTest.php +++ b/src/Symfony/Component/Process/Tests/ProcessTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Process\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Process\Exception\LogicException; use Symfony\Component\Process\Exception\ProcessTimedOutException; use Symfony\Component\Process\Exception\RuntimeException; @@ -25,11 +26,13 @@ use Symfony\Component\Process\Process; */ class ProcessTest extends TestCase { + use ForwardCompatTestTrait; + private static $phpBin; private static $process; private static $sigchild; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { $phpBin = new PhpExecutableFinder(); self::$phpBin = getenv('SYMFONY_PROCESS_PHP_TEST_BINARY') ?: ('phpdbg' === \PHP_SAPI ? 'php' : $phpBin->find()); @@ -39,7 +42,7 @@ class ProcessTest extends TestCase self::$sigchild = false !== strpos(ob_get_clean(), '--enable-sigchild'); } - protected function tearDown() + private function doTearDown() { if (self::$process) { self::$process->stop(0); diff --git a/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorArrayAccessTest.php b/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorArrayAccessTest.php index 3c007fde93..5749cfae6f 100644 --- a/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorArrayAccessTest.php +++ b/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorArrayAccessTest.php @@ -12,17 +12,20 @@ namespace Symfony\Component\PropertyAccess\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\PropertyAccess\PropertyAccess; use Symfony\Component\PropertyAccess\PropertyAccessor; abstract class PropertyAccessorArrayAccessTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var PropertyAccessor */ protected $propertyAccessor; - protected function setUp() + private function doSetUp() { $this->propertyAccessor = new PropertyAccessor(); } diff --git a/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorBuilderTest.php b/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorBuilderTest.php index 63bd642250..50660b8c46 100644 --- a/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorBuilderTest.php +++ b/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorBuilderTest.php @@ -12,23 +12,26 @@ namespace Symfony\Component\PropertyAccess\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Cache\Adapter\ArrayAdapter; use Symfony\Component\PropertyAccess\PropertyAccessor; use Symfony\Component\PropertyAccess\PropertyAccessorBuilder; class PropertyAccessorBuilderTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var PropertyAccessorBuilder */ protected $builder; - protected function setUp() + private function doSetUp() { $this->builder = new PropertyAccessorBuilder(); } - protected function tearDown() + private function doTearDown() { $this->builder = null; } diff --git a/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorTest.php b/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorTest.php index dfd16d9f51..d9eef22357 100644 --- a/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorTest.php +++ b/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\PropertyAccess\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Cache\Adapter\ArrayAdapter; use Symfony\Component\PropertyAccess\Exception\NoSuchIndexException; use Symfony\Component\PropertyAccess\PropertyAccess; @@ -31,12 +32,14 @@ use Symfony\Component\PropertyAccess\Tests\Fixtures\TypeHinted; class PropertyAccessorTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var PropertyAccessor */ private $propertyAccessor; - protected function setUp() + private function doSetUp() { $this->propertyAccessor = new PropertyAccessor(); } diff --git a/src/Symfony/Component/PropertyAccess/Tests/PropertyPathBuilderTest.php b/src/Symfony/Component/PropertyAccess/Tests/PropertyPathBuilderTest.php index 3c02f4ded8..fcc400b8c5 100644 --- a/src/Symfony/Component/PropertyAccess/Tests/PropertyPathBuilderTest.php +++ b/src/Symfony/Component/PropertyAccess/Tests/PropertyPathBuilderTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\PropertyAccess\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\PropertyAccess\PropertyPath; use Symfony\Component\PropertyAccess\PropertyPathBuilder; @@ -20,6 +21,8 @@ use Symfony\Component\PropertyAccess\PropertyPathBuilder; */ class PropertyPathBuilderTest extends TestCase { + use ForwardCompatTestTrait; + const PREFIX = 'old1[old2].old3[old4][old5].old6'; /** @@ -27,7 +30,7 @@ class PropertyPathBuilderTest extends TestCase */ private $builder; - protected function setUp() + private function doSetUp() { $this->builder = new PropertyPathBuilder(new PropertyPath(self::PREFIX)); } diff --git a/src/Symfony/Component/PropertyInfo/Tests/AbstractPropertyInfoExtractorTest.php b/src/Symfony/Component/PropertyInfo/Tests/AbstractPropertyInfoExtractorTest.php index 928e867dec..dbd4dba3c8 100644 --- a/src/Symfony/Component/PropertyInfo/Tests/AbstractPropertyInfoExtractorTest.php +++ b/src/Symfony/Component/PropertyInfo/Tests/AbstractPropertyInfoExtractorTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\PropertyInfo\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\PropertyInfo\PropertyInfoExtractor; use Symfony\Component\PropertyInfo\PropertyInitializableExtractorInterface; use Symfony\Component\PropertyInfo\Tests\Fixtures\DummyExtractor; @@ -23,12 +24,14 @@ use Symfony\Component\PropertyInfo\Type; */ class AbstractPropertyInfoExtractorTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var PropertyInfoExtractor */ protected $propertyInfo; - protected function setUp() + private function doSetUp() { $extractors = [new NullExtractor(), new DummyExtractor()]; $this->propertyInfo = new PropertyInfoExtractor($extractors, $extractors, $extractors, $extractors, $extractors); diff --git a/src/Symfony/Component/PropertyInfo/Tests/Extractor/PhpDocExtractorTest.php b/src/Symfony/Component/PropertyInfo/Tests/Extractor/PhpDocExtractorTest.php index 930dc6e24c..3cb1db51f8 100644 --- a/src/Symfony/Component/PropertyInfo/Tests/Extractor/PhpDocExtractorTest.php +++ b/src/Symfony/Component/PropertyInfo/Tests/Extractor/PhpDocExtractorTest.php @@ -13,6 +13,7 @@ namespace Symfony\Component\PropertyInfo\Tests\PhpDocExtractor; use phpDocumentor\Reflection\Types\Collection; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\PropertyInfo\Extractor\PhpDocExtractor; use Symfony\Component\PropertyInfo\Type; @@ -21,12 +22,14 @@ use Symfony\Component\PropertyInfo\Type; */ class PhpDocExtractorTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var PhpDocExtractor */ private $extractor; - protected function setUp() + private function doSetUp() { $this->extractor = new PhpDocExtractor(); } diff --git a/src/Symfony/Component/PropertyInfo/Tests/Extractor/ReflectionExtractorTest.php b/src/Symfony/Component/PropertyInfo/Tests/Extractor/ReflectionExtractorTest.php index b7dafe7d8f..bcfce7c68a 100644 --- a/src/Symfony/Component/PropertyInfo/Tests/Extractor/ReflectionExtractorTest.php +++ b/src/Symfony/Component/PropertyInfo/Tests/Extractor/ReflectionExtractorTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\PropertyInfo\Tests\Extractor; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\PropertyInfo\Extractor\ReflectionExtractor; use Symfony\Component\PropertyInfo\Tests\Fixtures\AdderRemoverDummy; use Symfony\Component\PropertyInfo\Tests\Fixtures\DefaultValue; @@ -26,12 +27,14 @@ use Symfony\Component\PropertyInfo\Type; */ class ReflectionExtractorTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var ReflectionExtractor */ private $extractor; - protected function setUp() + private function doSetUp() { $this->extractor = new ReflectionExtractor(); } diff --git a/src/Symfony/Component/PropertyInfo/Tests/Extractor/SerializerExtractorTest.php b/src/Symfony/Component/PropertyInfo/Tests/Extractor/SerializerExtractorTest.php index 791398e3f2..a8bce835c3 100644 --- a/src/Symfony/Component/PropertyInfo/Tests/Extractor/SerializerExtractorTest.php +++ b/src/Symfony/Component/PropertyInfo/Tests/Extractor/SerializerExtractorTest.php @@ -13,6 +13,7 @@ namespace Symfony\Component\PropertyInfo\Tests\Extractor; use Doctrine\Common\Annotations\AnnotationReader; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\PropertyInfo\Extractor\SerializerExtractor; use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactory; use Symfony\Component\Serializer\Mapping\Loader\AnnotationLoader; @@ -22,12 +23,14 @@ use Symfony\Component\Serializer\Mapping\Loader\AnnotationLoader; */ class SerializerExtractorTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var SerializerExtractor */ private $extractor; - protected function setUp() + private function doSetUp() { $classMetadataFactory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader())); $this->extractor = new SerializerExtractor($classMetadataFactory); diff --git a/src/Symfony/Component/PropertyInfo/Tests/PropertyInfoCacheExtractorTest.php b/src/Symfony/Component/PropertyInfo/Tests/PropertyInfoCacheExtractorTest.php index 59dc3fb22b..ebb8bd860a 100644 --- a/src/Symfony/Component/PropertyInfo/Tests/PropertyInfoCacheExtractorTest.php +++ b/src/Symfony/Component/PropertyInfo/Tests/PropertyInfoCacheExtractorTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\PropertyInfo\Tests; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Cache\Adapter\ArrayAdapter; use Symfony\Component\PropertyInfo\PropertyInfoCacheExtractor; @@ -19,7 +20,9 @@ use Symfony\Component\PropertyInfo\PropertyInfoCacheExtractor; */ class PropertyInfoCacheExtractorTest extends AbstractPropertyInfoExtractorTest { - protected function setUp() + use ForwardCompatTestTrait; + + private function doSetUp() { parent::setUp(); diff --git a/src/Symfony/Component/Routing/Tests/Loader/AnnotationClassLoaderTest.php b/src/Symfony/Component/Routing/Tests/Loader/AnnotationClassLoaderTest.php index 0387609aae..e86cb26cc7 100644 --- a/src/Symfony/Component/Routing/Tests/Loader/AnnotationClassLoaderTest.php +++ b/src/Symfony/Component/Routing/Tests/Loader/AnnotationClassLoaderTest.php @@ -13,6 +13,7 @@ namespace Symfony\Component\Routing\Tests\Loader; use Doctrine\Common\Annotations\AnnotationReader; use Doctrine\Common\Annotations\AnnotationRegistry; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Routing\Annotation\Route as RouteAnnotation; use Symfony\Component\Routing\Loader\AnnotationClassLoader; use Symfony\Component\Routing\Route; @@ -40,12 +41,14 @@ use Symfony\Component\Routing\Tests\Fixtures\AnnotationFixtures\Utf8ActionContro class AnnotationClassLoaderTest extends AbstractAnnotationLoaderTest { + use ForwardCompatTestTrait; + /** * @var AnnotationClassLoader */ private $loader; - protected function setUp() + private function doSetUp() { $reader = new AnnotationReader(); $this->loader = new class($reader) extends AnnotationClassLoader { diff --git a/src/Symfony/Component/Routing/Tests/Loader/AnnotationDirectoryLoaderTest.php b/src/Symfony/Component/Routing/Tests/Loader/AnnotationDirectoryLoaderTest.php index df96a679e4..e9e56043b2 100644 --- a/src/Symfony/Component/Routing/Tests/Loader/AnnotationDirectoryLoaderTest.php +++ b/src/Symfony/Component/Routing/Tests/Loader/AnnotationDirectoryLoaderTest.php @@ -11,15 +11,18 @@ namespace Symfony\Component\Routing\Tests\Loader; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Config\FileLocator; use Symfony\Component\Routing\Loader\AnnotationDirectoryLoader; class AnnotationDirectoryLoaderTest extends AbstractAnnotationLoaderTest { + use ForwardCompatTestTrait; + protected $loader; protected $reader; - protected function setUp() + private function doSetUp() { parent::setUp(); diff --git a/src/Symfony/Component/Routing/Tests/Loader/AnnotationFileLoaderTest.php b/src/Symfony/Component/Routing/Tests/Loader/AnnotationFileLoaderTest.php index e35a3a7fcf..3981b9377e 100644 --- a/src/Symfony/Component/Routing/Tests/Loader/AnnotationFileLoaderTest.php +++ b/src/Symfony/Component/Routing/Tests/Loader/AnnotationFileLoaderTest.php @@ -11,16 +11,19 @@ namespace Symfony\Component\Routing\Tests\Loader; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Config\FileLocator; use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Routing\Loader\AnnotationFileLoader; class AnnotationFileLoaderTest extends AbstractAnnotationLoaderTest { + use ForwardCompatTestTrait; + protected $loader; protected $reader; - protected function setUp() + private function doSetUp() { parent::setUp(); diff --git a/src/Symfony/Component/Routing/Tests/Loader/DirectoryLoaderTest.php b/src/Symfony/Component/Routing/Tests/Loader/DirectoryLoaderTest.php index 2657751b38..ce31fc3559 100644 --- a/src/Symfony/Component/Routing/Tests/Loader/DirectoryLoaderTest.php +++ b/src/Symfony/Component/Routing/Tests/Loader/DirectoryLoaderTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Routing\Tests\Loader; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Config\FileLocator; use Symfony\Component\Config\Loader\LoaderResolver; use Symfony\Component\Routing\Loader\AnnotationFileLoader; @@ -20,10 +21,12 @@ use Symfony\Component\Routing\RouteCollection; class DirectoryLoaderTest extends AbstractAnnotationLoaderTest { + use ForwardCompatTestTrait; + private $loader; private $reader; - protected function setUp() + private function doSetUp() { parent::setUp(); diff --git a/src/Symfony/Component/Routing/Tests/RouterTest.php b/src/Symfony/Component/Routing/Tests/RouterTest.php index 6ea11ebce4..55f09da4d4 100644 --- a/src/Symfony/Component/Routing/Tests/RouterTest.php +++ b/src/Symfony/Component/Routing/Tests/RouterTest.php @@ -12,17 +12,20 @@ namespace Symfony\Component\Routing\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Routing\RouteCollection; use Symfony\Component\Routing\Router; class RouterTest extends TestCase { + use ForwardCompatTestTrait; + private $router = null; private $loader = null; - protected function setUp() + private function doSetUp() { $this->loader = $this->getMockBuilder('Symfony\Component\Config\Loader\LoaderInterface')->getMock(); $this->router = new Router($this->loader, 'routing.yml'); diff --git a/src/Symfony/Component/Security/Core/Tests/Authorization/AuthorizationCheckerTest.php b/src/Symfony/Component/Security/Core/Tests/Authorization/AuthorizationCheckerTest.php index 0a0b47a81b..843f5783f8 100644 --- a/src/Symfony/Component/Security/Core/Tests/Authorization/AuthorizationCheckerTest.php +++ b/src/Symfony/Component/Security/Core/Tests/Authorization/AuthorizationCheckerTest.php @@ -12,18 +12,21 @@ namespace Symfony\Component\Security\Core\Tests\Authorization; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage; use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken; use Symfony\Component\Security\Core\Authorization\AuthorizationChecker; class AuthorizationCheckerTest extends TestCase { + use ForwardCompatTestTrait; + private $authenticationManager; private $accessDecisionManager; private $authorizationChecker; private $tokenStorage; - protected function setUp() + private function doSetUp() { $this->authenticationManager = $this->getMockBuilder('Symfony\Component\Security\Core\Authentication\AuthenticationManagerInterface')->getMock(); $this->accessDecisionManager = $this->getMockBuilder('Symfony\Component\Security\Core\Authorization\AccessDecisionManagerInterface')->getMock(); diff --git a/src/Symfony/Component/Security/Core/Tests/Authorization/Voter/VoterTest.php b/src/Symfony/Component/Security/Core/Tests/Authorization/Voter/VoterTest.php index 5989c00d72..e36758f2ba 100644 --- a/src/Symfony/Component/Security/Core/Tests/Authorization/Voter/VoterTest.php +++ b/src/Symfony/Component/Security/Core/Tests/Authorization/Voter/VoterTest.php @@ -12,15 +12,18 @@ namespace Symfony\Component\Security\Core\Tests\Authorization\Voter; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; use Symfony\Component\Security\Core\Authorization\Voter\Voter; use Symfony\Component\Security\Core\Authorization\Voter\VoterInterface; class VoterTest extends TestCase { + use ForwardCompatTestTrait; + protected $token; - protected function setUp() + private function doSetUp() { $this->token = $this->getMockBuilder('Symfony\Component\Security\Core\Authentication\Token\TokenInterface')->getMock(); } diff --git a/src/Symfony/Component/Security/Core/Tests/Validator/Constraints/UserPasswordValidatorTest.php b/src/Symfony/Component/Security/Core/Tests/Validator/Constraints/UserPasswordValidatorTest.php index 305b665ea3..131b7f3b1f 100644 --- a/src/Symfony/Component/Security/Core/Tests/Validator/Constraints/UserPasswordValidatorTest.php +++ b/src/Symfony/Component/Security/Core/Tests/Validator/Constraints/UserPasswordValidatorTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Security\Core\Tests\Validator\Constraints; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface; use Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface; use Symfony\Component\Security\Core\Encoder\PasswordEncoderInterface; @@ -23,6 +24,8 @@ use Symfony\Component\Validator\Test\ConstraintValidatorTestCase; */ abstract class UserPasswordValidatorTest extends ConstraintValidatorTestCase { + use ForwardCompatTestTrait; + const PASSWORD = 's3Cr3t'; const SALT = '^S4lt$'; @@ -46,7 +49,7 @@ abstract class UserPasswordValidatorTest extends ConstraintValidatorTestCase return new UserPasswordValidator($this->tokenStorage, $this->encoderFactory); } - protected function setUp() + private function doSetUp() { $user = $this->createUser(); $this->tokenStorage = $this->createTokenStorage($user); diff --git a/src/Symfony/Component/Security/Csrf/Tests/CsrfTokenManagerTest.php b/src/Symfony/Component/Security/Csrf/Tests/CsrfTokenManagerTest.php index 63d7ac6d69..7d5a553a42 100644 --- a/src/Symfony/Component/Security/Csrf/Tests/CsrfTokenManagerTest.php +++ b/src/Symfony/Component/Security/Csrf/Tests/CsrfTokenManagerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Security\Csrf\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\Security\Csrf\CsrfToken; @@ -22,6 +23,8 @@ use Symfony\Component\Security\Csrf\CsrfTokenManager; */ class CsrfTokenManagerTest extends TestCase { + use ForwardCompatTestTrait; + /** * @dataProvider getManagerGeneratorAndStorage */ @@ -212,12 +215,12 @@ class CsrfTokenManagerTest extends TestCase ]; } - protected function setUp() + private function doSetUp() { $_SERVER['HTTPS'] = 'on'; } - protected function tearDown() + private function doTearDown() { parent::tearDown(); diff --git a/src/Symfony/Component/Security/Csrf/Tests/TokenGenerator/UriSafeTokenGeneratorTest.php b/src/Symfony/Component/Security/Csrf/Tests/TokenGenerator/UriSafeTokenGeneratorTest.php index 07f85c2214..039ccbfe6a 100644 --- a/src/Symfony/Component/Security/Csrf/Tests/TokenGenerator/UriSafeTokenGeneratorTest.php +++ b/src/Symfony/Component/Security/Csrf/Tests/TokenGenerator/UriSafeTokenGeneratorTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Security\Csrf\Tests\TokenGenerator; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Security\Csrf\TokenGenerator\UriSafeTokenGenerator; /** @@ -19,6 +20,8 @@ use Symfony\Component\Security\Csrf\TokenGenerator\UriSafeTokenGenerator; */ class UriSafeTokenGeneratorTest extends TestCase { + use ForwardCompatTestTrait; + const ENTROPY = 1000; /** @@ -33,17 +36,17 @@ class UriSafeTokenGeneratorTest extends TestCase */ private $generator; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { self::$bytes = base64_decode('aMf+Tct/RLn2WQ=='); } - protected function setUp() + private function doSetUp() { $this->generator = new UriSafeTokenGenerator(self::ENTROPY); } - protected function tearDown() + private function doTearDown() { $this->generator = null; } diff --git a/src/Symfony/Component/Security/Csrf/Tests/TokenStorage/NativeSessionTokenStorageTest.php b/src/Symfony/Component/Security/Csrf/Tests/TokenStorage/NativeSessionTokenStorageTest.php index 86fb6e6b9c..ac4c19b895 100644 --- a/src/Symfony/Component/Security/Csrf/Tests/TokenStorage/NativeSessionTokenStorageTest.php +++ b/src/Symfony/Component/Security/Csrf/Tests/TokenStorage/NativeSessionTokenStorageTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Security\Csrf\Tests\TokenStorage; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Security\Csrf\TokenStorage\NativeSessionTokenStorage; /** @@ -22,6 +23,8 @@ use Symfony\Component\Security\Csrf\TokenStorage\NativeSessionTokenStorage; */ class NativeSessionTokenStorageTest extends TestCase { + use ForwardCompatTestTrait; + const SESSION_NAMESPACE = 'foobar'; /** @@ -29,7 +32,7 @@ class NativeSessionTokenStorageTest extends TestCase */ private $storage; - protected function setUp() + private function doSetUp() { $_SESSION = []; diff --git a/src/Symfony/Component/Security/Csrf/Tests/TokenStorage/SessionTokenStorageTest.php b/src/Symfony/Component/Security/Csrf/Tests/TokenStorage/SessionTokenStorageTest.php index 7539852f13..d90278b16a 100644 --- a/src/Symfony/Component/Security/Csrf/Tests/TokenStorage/SessionTokenStorageTest.php +++ b/src/Symfony/Component/Security/Csrf/Tests/TokenStorage/SessionTokenStorageTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Security\Csrf\Tests\TokenStorage; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Session\Session; use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage; use Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage; @@ -21,6 +22,8 @@ use Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage; */ class SessionTokenStorageTest extends TestCase { + use ForwardCompatTestTrait; + const SESSION_NAMESPACE = 'foobar'; /** @@ -33,7 +36,7 @@ class SessionTokenStorageTest extends TestCase */ private $storage; - protected function setUp() + private function doSetUp() { $this->session = new Session(new MockArraySessionStorage()); $this->storage = new SessionTokenStorage($this->session, self::SESSION_NAMESPACE); diff --git a/src/Symfony/Component/Security/Guard/Tests/Authenticator/FormLoginAuthenticatorTest.php b/src/Symfony/Component/Security/Guard/Tests/Authenticator/FormLoginAuthenticatorTest.php index 52d0133040..edece2932d 100644 --- a/src/Symfony/Component/Security/Guard/Tests/Authenticator/FormLoginAuthenticatorTest.php +++ b/src/Symfony/Component/Security/Guard/Tests/Authenticator/FormLoginAuthenticatorTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Security\Guard\Tests\Authenticator; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; use Symfony\Component\Security\Core\Exception\AuthenticationException; @@ -24,6 +25,8 @@ use Symfony\Component\Security\Guard\Authenticator\AbstractFormLoginAuthenticato */ class FormLoginAuthenticatorTest extends TestCase { + use ForwardCompatTestTrait; + private $requestWithoutSession; private $requestWithSession; private $authenticator; @@ -75,7 +78,7 @@ class FormLoginAuthenticatorTest extends TestCase $this->assertEquals(self::LOGIN_URL, $failureResponse->getTargetUrl()); } - protected function setUp() + private function doSetUp() { $this->requestWithoutSession = new Request([], [], [], [], [], []); $this->requestWithSession = new Request([], [], [], [], [], []); diff --git a/src/Symfony/Component/Security/Guard/Tests/Firewall/GuardAuthenticationListenerTest.php b/src/Symfony/Component/Security/Guard/Tests/Firewall/GuardAuthenticationListenerTest.php index 4b67d6aecd..7b27af093a 100644 --- a/src/Symfony/Component/Security/Guard/Tests/Firewall/GuardAuthenticationListenerTest.php +++ b/src/Symfony/Component/Security/Guard/Tests/Firewall/GuardAuthenticationListenerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Security\Guard\Tests\Firewall; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; @@ -26,6 +27,8 @@ use Symfony\Component\Security\Guard\Token\PreAuthenticationGuardToken; */ class GuardAuthenticationListenerTest extends TestCase { + use ForwardCompatTestTrait; + private $authenticationManager; private $guardAuthenticatorHandler; private $event; @@ -262,7 +265,7 @@ class GuardAuthenticationListenerTest extends TestCase $listener($this->event); } - protected function setUp() + private function doSetUp() { $this->authenticationManager = $this->getMockBuilder('Symfony\Component\Security\Core\Authentication\AuthenticationProviderManager') ->disableOriginalConstructor() @@ -287,7 +290,7 @@ class GuardAuthenticationListenerTest extends TestCase $this->rememberMeServices = $this->getMockBuilder('Symfony\Component\Security\Http\RememberMe\RememberMeServicesInterface')->getMock(); } - protected function tearDown() + private function doTearDown() { $this->authenticationManager = null; $this->guardAuthenticatorHandler = null; diff --git a/src/Symfony/Component/Security/Guard/Tests/GuardAuthenticatorHandlerTest.php b/src/Symfony/Component/Security/Guard/Tests/GuardAuthenticatorHandlerTest.php index 1244cc30a6..625a6eb19d 100644 --- a/src/Symfony/Component/Security/Guard/Tests/GuardAuthenticatorHandlerTest.php +++ b/src/Symfony/Component/Security/Guard/Tests/GuardAuthenticatorHandlerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Security\Guard\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface; @@ -26,6 +27,8 @@ use Symfony\Contracts\EventDispatcher\EventDispatcherInterface; class GuardAuthenticatorHandlerTest extends TestCase { + use ForwardCompatTestTrait; + private $tokenStorage; private $dispatcher; private $token; @@ -160,7 +163,7 @@ class GuardAuthenticatorHandlerTest extends TestCase $handler->authenticateWithToken($this->token, $this->request, 'some_provider_key'); } - protected function setUp() + private function doSetUp() { $this->tokenStorage = $this->getMockBuilder(TokenStorageInterface::class)->getMock(); $this->dispatcher = $this->getMockBuilder(EventDispatcherInterface::class)->getMock(); @@ -170,7 +173,7 @@ class GuardAuthenticatorHandlerTest extends TestCase $this->guardAuthenticator = $this->getMockBuilder(AuthenticatorInterface::class)->getMock(); } - protected function tearDown() + private function doTearDown() { $this->tokenStorage = null; $this->dispatcher = null; diff --git a/src/Symfony/Component/Security/Guard/Tests/Provider/GuardAuthenticationProviderTest.php b/src/Symfony/Component/Security/Guard/Tests/Provider/GuardAuthenticationProviderTest.php index 787958b5bf..5efca595fc 100644 --- a/src/Symfony/Component/Security/Guard/Tests/Provider/GuardAuthenticationProviderTest.php +++ b/src/Symfony/Component/Security/Guard/Tests/Provider/GuardAuthenticationProviderTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Security\Guard\Tests\Provider; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; use Symfony\Component\Security\Core\User\UserInterface; use Symfony\Component\Security\Guard\AuthenticatorInterface; @@ -24,6 +25,8 @@ use Symfony\Component\Security\Guard\Token\PreAuthenticationGuardToken; */ class GuardAuthenticationProviderTest extends TestCase { + use ForwardCompatTestTrait; + private $userProvider; private $userChecker; private $preAuthenticationToken; @@ -171,7 +174,7 @@ class GuardAuthenticationProviderTest extends TestCase $provider->authenticate($token); } - protected function setUp() + private function doSetUp() { $this->userProvider = $this->getMockBuilder('Symfony\Component\Security\Core\User\UserProviderInterface')->getMock(); $this->userChecker = $this->getMockBuilder('Symfony\Component\Security\Core\User\UserCheckerInterface')->getMock(); @@ -180,7 +183,7 @@ class GuardAuthenticationProviderTest extends TestCase ->getMock(); } - protected function tearDown() + private function doTearDown() { $this->userProvider = null; $this->userChecker = null; diff --git a/src/Symfony/Component/Security/Http/Tests/Authentication/DefaultAuthenticationFailureHandlerTest.php b/src/Symfony/Component/Security/Http/Tests/Authentication/DefaultAuthenticationFailureHandlerTest.php index a71ad179a3..348f5d2c93 100644 --- a/src/Symfony/Component/Security/Http/Tests/Authentication/DefaultAuthenticationFailureHandlerTest.php +++ b/src/Symfony/Component/Security/Http/Tests/Authentication/DefaultAuthenticationFailureHandlerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Security\Http\Tests\Authentication; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\HttpKernelInterface; use Symfony\Component\Security\Core\Security; @@ -19,6 +20,8 @@ use Symfony\Component\Security\Http\Authentication\DefaultAuthenticationFailureH class DefaultAuthenticationFailureHandlerTest extends TestCase { + use ForwardCompatTestTrait; + private $httpKernel; private $httpUtils; private $logger; @@ -26,7 +29,7 @@ class DefaultAuthenticationFailureHandlerTest extends TestCase private $session; private $exception; - protected function setUp() + private function doSetUp() { $this->httpKernel = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernelInterface')->getMock(); $this->httpUtils = $this->getMockBuilder('Symfony\Component\Security\Http\HttpUtils')->getMock(); diff --git a/src/Symfony/Component/Security/Http/Tests/Firewall/DigestDataTest.php b/src/Symfony/Component/Security/Http/Tests/Firewall/DigestDataTest.php new file mode 100644 index 0000000000..229c9f2768 --- /dev/null +++ b/src/Symfony/Component/Security/Http/Tests/Firewall/DigestDataTest.php @@ -0,0 +1,191 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Security\Http\Tests\Firewall; + +use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; +use Symfony\Component\Security\Http\Firewall\DigestData; + +/** + * @group legacy + */ +class DigestDataTest extends TestCase +{ + use ForwardCompatTestTrait; + + public function testGetResponse() + { + $digestAuth = new DigestData( + 'username="user", realm="Welcome, robot!", '. + 'nonce="MTM0NzMyMTgyMy42NzkzOmRlZjM4NmIzOGNjMjE0OWJiNDU0MDAxNzJmYmM1MmZl", '. + 'uri="/path/info?p1=5&p2=5", cnonce="MDIwODkz", nc=00000001, qop="auth", '. + 'response="b52938fc9e6d7c01be7702ece9031b42"' + ); + + $this->assertEquals('b52938fc9e6d7c01be7702ece9031b42', $digestAuth->getResponse()); + } + + public function testGetUsername() + { + $digestAuth = new DigestData( + 'username="user", realm="Welcome, robot!", '. + 'nonce="MTM0NzMyMTgyMy42NzkzOmRlZjM4NmIzOGNjMjE0OWJiNDU0MDAxNzJmYmM1MmZl", '. + 'uri="/path/info?p1=5&p2=5", cnonce="MDIwODkz", nc=00000001, qop="auth", '. + 'response="b52938fc9e6d7c01be7702ece9031b42"' + ); + + $this->assertEquals('user', $digestAuth->getUsername()); + } + + public function testGetUsernameWithQuote() + { + $digestAuth = new DigestData( + 'username="\"user\"", realm="Welcome, robot!", '. + 'nonce="MTM0NzMyMTgyMy42NzkzOmRlZjM4NmIzOGNjMjE0OWJiNDU0MDAxNzJmYmM1MmZl", '. + 'uri="/path/info?p1=5&p2=5", cnonce="MDIwODkz", nc=00000001, qop="auth", '. + 'response="b52938fc9e6d7c01be7702ece9031b42"' + ); + + $this->assertEquals('"user"', $digestAuth->getUsername()); + } + + public function testGetUsernameWithQuoteAndEscape() + { + $digestAuth = new DigestData( + 'username="\"u\\\\\"ser\"", realm="Welcome, robot!", '. + 'nonce="MTM0NzMyMTgyMy42NzkzOmRlZjM4NmIzOGNjMjE0OWJiNDU0MDAxNzJmYmM1MmZl", '. + 'uri="/path/info?p1=5&p2=5", cnonce="MDIwODkz", nc=00000001, qop="auth", '. + 'response="b52938fc9e6d7c01be7702ece9031b42"' + ); + + $this->assertEquals('"u\\"ser"', $digestAuth->getUsername()); + } + + public function testGetUsernameWithSingleQuote() + { + $digestAuth = new DigestData( + 'username="\"u\'ser\"", realm="Welcome, robot!", '. + 'nonce="MTM0NzMyMTgyMy42NzkzOmRlZjM4NmIzOGNjMjE0OWJiNDU0MDAxNzJmYmM1MmZl", '. + 'uri="/path/info?p1=5&p2=5", cnonce="MDIwODkz", nc=00000001, qop="auth", '. + 'response="b52938fc9e6d7c01be7702ece9031b42"' + ); + + $this->assertEquals('"u\'ser"', $digestAuth->getUsername()); + } + + public function testGetUsernameWithSingleQuoteAndEscape() + { + $digestAuth = new DigestData( + 'username="\"u\\\'ser\"", realm="Welcome, robot!", '. + 'nonce="MTM0NzMyMTgyMy42NzkzOmRlZjM4NmIzOGNjMjE0OWJiNDU0MDAxNzJmYmM1MmZl", '. + 'uri="/path/info?p1=5&p2=5", cnonce="MDIwODkz", nc=00000001, qop="auth", '. + 'response="b52938fc9e6d7c01be7702ece9031b42"' + ); + + $this->assertEquals('"u\\\'ser"', $digestAuth->getUsername()); + } + + public function testGetUsernameWithEscape() + { + $digestAuth = new DigestData( + 'username="\"u\\ser\"", realm="Welcome, robot!", '. + 'nonce="MTM0NzMyMTgyMy42NzkzOmRlZjM4NmIzOGNjMjE0OWJiNDU0MDAxNzJmYmM1MmZl", '. + 'uri="/path/info?p1=5&p2=5", cnonce="MDIwODkz", nc=00000001, qop="auth", '. + 'response="b52938fc9e6d7c01be7702ece9031b42"' + ); + + $this->assertEquals('"u\\ser"', $digestAuth->getUsername()); + } + + /** + * @group time-sensitive + */ + public function testValidateAndDecode() + { + $time = microtime(true); + $key = 'ThisIsAKey'; + $nonce = base64_encode($time.':'.md5($time.':'.$key)); + + $digestAuth = new DigestData( + 'username="user", realm="Welcome, robot!", nonce="'.$nonce.'", '. + 'uri="/path/info?p1=5&p2=5", cnonce="MDIwODkz", nc=00000001, qop="auth", '. + 'response="b52938fc9e6d7c01be7702ece9031b42"' + ); + + $digestAuth->validateAndDecode($key, 'Welcome, robot!'); + + sleep(1); + + $this->assertTrue($digestAuth->isNonceExpired()); + } + + public function testCalculateServerDigest() + { + $this->calculateServerDigest('user', 'Welcome, robot!', 'pass,word=password', 'ThisIsAKey', '00000001', 'MDIwODkz', 'auth', 'GET', '/path/info?p1=5&p2=5'); + } + + public function testCalculateServerDigestWithQuote() + { + $this->calculateServerDigest('\"user\"', 'Welcome, \"robot\"!', 'pass,word=password', 'ThisIsAKey', '00000001', 'MDIwODkz', 'auth', 'GET', '/path/info?p1=5&p2=5'); + } + + public function testCalculateServerDigestWithQuoteAndEscape() + { + $this->calculateServerDigest('\"u\\\\\"ser\"', 'Welcome, \"robot\"!', 'pass,word=password', 'ThisIsAKey', '00000001', 'MDIwODkz', 'auth', 'GET', '/path/info?p1=5&p2=5'); + } + + public function testCalculateServerDigestEscape() + { + $this->calculateServerDigest('\"u\\ser\"', 'Welcome, \"robot\"!', 'pass,word=password', 'ThisIsAKey', '00000001', 'MDIwODkz', 'auth', 'GET', '/path/info?p1=5&p2=5'); + $this->calculateServerDigest('\"u\\ser\\\\\"', 'Welcome, \"robot\"!', 'pass,word=password', 'ThisIsAKey', '00000001', 'MDIwODkz', 'auth', 'GET', '/path/info?p1=5&p2=5'); + } + + public function testIsNonceExpired() + { + $time = microtime(true) + 10; + $key = 'ThisIsAKey'; + $nonce = base64_encode($time.':'.md5($time.':'.$key)); + + $digestAuth = new DigestData( + 'username="user", realm="Welcome, robot!", nonce="'.$nonce.'", '. + 'uri="/path/info?p1=5&p2=5", cnonce="MDIwODkz", nc=00000001, qop="auth", '. + 'response="b52938fc9e6d7c01be7702ece9031b42"' + ); + + $digestAuth->validateAndDecode($key, 'Welcome, robot!'); + + $this->assertFalse($digestAuth->isNonceExpired()); + } + + private function doSetUp() + { + class_exists('Symfony\Component\Security\Http\Firewall\DigestAuthenticationListener', true); + } + + private function calculateServerDigest($username, $realm, $password, $key, $nc, $cnonce, $qop, $method, $uri) + { + $time = microtime(true); + $nonce = base64_encode($time.':'.md5($time.':'.$key)); + + $response = md5( + md5($username.':'.$realm.':'.$password).':'.$nonce.':'.$nc.':'.$cnonce.':'.$qop.':'.md5($method.':'.$uri) + ); + + $digest = sprintf('username="%s", realm="%s", nonce="%s", uri="%s", cnonce="%s", nc=%s, qop="%s", response="%s"', + $username, $realm, $nonce, $uri, $cnonce, $nc, $qop, $response + ); + + $digestAuth = new DigestData($digest); + + $this->assertEquals($digestAuth->getResponse(), $digestAuth->calculateServerDigest($password, $method)); + } +} diff --git a/src/Symfony/Component/Security/Http/Tests/Firewall/SwitchUserListenerTest.php b/src/Symfony/Component/Security/Http/Tests/Firewall/SwitchUserListenerTest.php index d343cf7328..43696475aa 100644 --- a/src/Symfony/Component/Security/Http/Tests/Firewall/SwitchUserListenerTest.php +++ b/src/Symfony/Component/Security/Http/Tests/Firewall/SwitchUserListenerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Security\Http\Tests\Firewall; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Event\RequestEvent; use Symfony\Component\HttpKernel\HttpKernelInterface; @@ -26,6 +27,8 @@ use Symfony\Contracts\EventDispatcher\EventDispatcherInterface; class SwitchUserListenerTest extends TestCase { + use ForwardCompatTestTrait; + private $tokenStorage; private $userProvider; @@ -38,7 +41,7 @@ class SwitchUserListenerTest extends TestCase private $event; - protected function setUp() + private function doSetUp() { $this->tokenStorage = new TokenStorage(); $this->userProvider = $this->getMockBuilder('Symfony\Component\Security\Core\User\UserProviderInterface')->getMock(); diff --git a/src/Symfony/Component/Security/Http/Tests/Logout/CsrfTokenClearingLogoutHandlerTest.php b/src/Symfony/Component/Security/Http/Tests/Logout/CsrfTokenClearingLogoutHandlerTest.php index fe34eaa6e5..d51cc44833 100644 --- a/src/Symfony/Component/Security/Http/Tests/Logout/CsrfTokenClearingLogoutHandlerTest.php +++ b/src/Symfony/Component/Security/Http/Tests/Logout/CsrfTokenClearingLogoutHandlerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Security\Http\Tests\Logout; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Session\Session; @@ -21,11 +22,13 @@ use Symfony\Component\Security\Http\Logout\CsrfTokenClearingLogoutHandler; class CsrfTokenClearingLogoutHandlerTest extends TestCase { + use ForwardCompatTestTrait; + private $session; private $csrfTokenStorage; private $csrfTokenClearingLogoutHandler; - protected function setUp() + private function doSetUp() { $this->session = new Session(new MockArraySessionStorage()); $this->csrfTokenStorage = new SessionTokenStorage($this->session, 'foo'); diff --git a/src/Symfony/Component/Security/Http/Tests/Logout/LogoutUrlGeneratorTest.php b/src/Symfony/Component/Security/Http/Tests/Logout/LogoutUrlGeneratorTest.php index fbdaf3d57e..8cf3da687f 100644 --- a/src/Symfony/Component/Security/Http/Tests/Logout/LogoutUrlGeneratorTest.php +++ b/src/Symfony/Component/Security/Http/Tests/Logout/LogoutUrlGeneratorTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Security\Http\Tests\Logout; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\Security\Core\Authentication\Token\AnonymousToken; @@ -24,12 +25,14 @@ use Symfony\Component\Security\Http\Logout\LogoutUrlGenerator; */ class LogoutUrlGeneratorTest extends TestCase { + use ForwardCompatTestTrait; + /** @var TokenStorage */ private $tokenStorage; /** @var LogoutUrlGenerator */ private $generator; - protected function setUp() + private function doSetUp() { $requestStack = $this->getMockBuilder(RequestStack::class)->getMock(); $request = $this->getMockBuilder(Request::class)->getMock(); diff --git a/src/Symfony/Component/Security/Http/Tests/RememberMe/PersistentTokenBasedRememberMeServicesTest.php b/src/Symfony/Component/Security/Http/Tests/RememberMe/PersistentTokenBasedRememberMeServicesTest.php index 7afa48edc9..7526c3ce5b 100644 --- a/src/Symfony/Component/Security/Http/Tests/RememberMe/PersistentTokenBasedRememberMeServicesTest.php +++ b/src/Symfony/Component/Security/Http/Tests/RememberMe/PersistentTokenBasedRememberMeServicesTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Security\Http\Tests\RememberMe; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\Cookie; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; @@ -25,7 +26,9 @@ use Symfony\Component\Security\Http\RememberMe\RememberMeServicesInterface; class PersistentTokenBasedRememberMeServicesTest extends TestCase { - public static function setUpBeforeClass() + use ForwardCompatTestTrait; + + private static function doSetUpBeforeClass() { try { random_bytes(1); diff --git a/src/Symfony/Component/Serializer/Tests/Encoder/ChainDecoderTest.php b/src/Symfony/Component/Serializer/Tests/Encoder/ChainDecoderTest.php index 22b86758a5..ecb37f2300 100644 --- a/src/Symfony/Component/Serializer/Tests/Encoder/ChainDecoderTest.php +++ b/src/Symfony/Component/Serializer/Tests/Encoder/ChainDecoderTest.php @@ -12,10 +12,13 @@ namespace Symfony\Component\Serializer\Tests\Encoder; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Serializer\Encoder\ChainDecoder; class ChainDecoderTest extends TestCase { + use ForwardCompatTestTrait; + const FORMAT_1 = 'format1'; const FORMAT_2 = 'format2'; const FORMAT_3 = 'format3'; @@ -24,7 +27,7 @@ class ChainDecoderTest extends TestCase private $decoder1; private $decoder2; - protected function setUp() + private function doSetUp() { $this->decoder1 = $this ->getMockBuilder('Symfony\Component\Serializer\Encoder\DecoderInterface') diff --git a/src/Symfony/Component/Serializer/Tests/Encoder/ChainEncoderTest.php b/src/Symfony/Component/Serializer/Tests/Encoder/ChainEncoderTest.php index d9b6251ed9..2a0f85d04a 100644 --- a/src/Symfony/Component/Serializer/Tests/Encoder/ChainEncoderTest.php +++ b/src/Symfony/Component/Serializer/Tests/Encoder/ChainEncoderTest.php @@ -12,12 +12,15 @@ namespace Symfony\Component\Serializer\Tests\Encoder; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Serializer\Encoder\ChainEncoder; use Symfony\Component\Serializer\Encoder\EncoderInterface; use Symfony\Component\Serializer\Encoder\NormalizationAwareInterface; class ChainEncoderTest extends TestCase { + use ForwardCompatTestTrait; + const FORMAT_1 = 'format1'; const FORMAT_2 = 'format2'; const FORMAT_3 = 'format3'; @@ -26,7 +29,7 @@ class ChainEncoderTest extends TestCase private $encoder1; private $encoder2; - protected function setUp() + private function doSetUp() { $this->encoder1 = $this ->getMockBuilder('Symfony\Component\Serializer\Encoder\EncoderInterface') diff --git a/src/Symfony/Component/Serializer/Tests/Encoder/CsvEncoderTest.php b/src/Symfony/Component/Serializer/Tests/Encoder/CsvEncoderTest.php index 4f44bbc405..83f89a5096 100644 --- a/src/Symfony/Component/Serializer/Tests/Encoder/CsvEncoderTest.php +++ b/src/Symfony/Component/Serializer/Tests/Encoder/CsvEncoderTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Serializer\Tests\Encoder; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Serializer\Encoder\CsvEncoder; /** @@ -19,12 +20,14 @@ use Symfony\Component\Serializer\Encoder\CsvEncoder; */ class CsvEncoderTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var CsvEncoder */ private $encoder; - protected function setUp() + private function doSetUp() { $this->encoder = new CsvEncoder(); } diff --git a/src/Symfony/Component/Serializer/Tests/Encoder/JsonDecodeTest.php b/src/Symfony/Component/Serializer/Tests/Encoder/JsonDecodeTest.php index c5a5551f76..e10da56661 100644 --- a/src/Symfony/Component/Serializer/Tests/Encoder/JsonDecodeTest.php +++ b/src/Symfony/Component/Serializer/Tests/Encoder/JsonDecodeTest.php @@ -12,15 +12,18 @@ namespace Symfony\Component\Serializer\Tests\Encoder; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Serializer\Encoder\JsonDecode; use Symfony\Component\Serializer\Encoder\JsonEncoder; class JsonDecodeTest extends TestCase { + use ForwardCompatTestTrait; + /** @var \Symfony\Component\Serializer\Encoder\JsonDecode */ private $decode; - protected function setUp() + private function doSetUp() { $this->decode = new JsonDecode(); } diff --git a/src/Symfony/Component/Serializer/Tests/Encoder/JsonEncodeTest.php b/src/Symfony/Component/Serializer/Tests/Encoder/JsonEncodeTest.php index 1a1a135ce0..72703f873f 100644 --- a/src/Symfony/Component/Serializer/Tests/Encoder/JsonEncodeTest.php +++ b/src/Symfony/Component/Serializer/Tests/Encoder/JsonEncodeTest.php @@ -12,14 +12,17 @@ namespace Symfony\Component\Serializer\Tests\Encoder; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Serializer\Encoder\JsonEncode; use Symfony\Component\Serializer\Encoder\JsonEncoder; class JsonEncodeTest extends TestCase { + use ForwardCompatTestTrait; + private $encode; - protected function setUp() + private function doSetUp() { $this->encode = new JsonEncode(); } diff --git a/src/Symfony/Component/Serializer/Tests/Encoder/JsonEncoderTest.php b/src/Symfony/Component/Serializer/Tests/Encoder/JsonEncoderTest.php index 439fbda163..0080112baa 100644 --- a/src/Symfony/Component/Serializer/Tests/Encoder/JsonEncoderTest.php +++ b/src/Symfony/Component/Serializer/Tests/Encoder/JsonEncoderTest.php @@ -12,16 +12,19 @@ namespace Symfony\Component\Serializer\Tests\Encoder; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Serializer\Encoder\JsonEncoder; use Symfony\Component\Serializer\Normalizer\CustomNormalizer; use Symfony\Component\Serializer\Serializer; class JsonEncoderTest extends TestCase { + use ForwardCompatTestTrait; + private $encoder; private $serializer; - protected function setUp() + private function doSetUp() { $this->encoder = new JsonEncoder(); $this->serializer = new Serializer([new CustomNormalizer()], ['json' => new JsonEncoder()]); diff --git a/src/Symfony/Component/Serializer/Tests/Encoder/XmlEncoderTest.php b/src/Symfony/Component/Serializer/Tests/Encoder/XmlEncoderTest.php index c1ff03d682..b3ef136d40 100644 --- a/src/Symfony/Component/Serializer/Tests/Encoder/XmlEncoderTest.php +++ b/src/Symfony/Component/Serializer/Tests/Encoder/XmlEncoderTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Serializer\Tests\Encoder; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Serializer\Encoder\XmlEncoder; use Symfony\Component\Serializer\Normalizer\CustomNormalizer; use Symfony\Component\Serializer\Normalizer\NormalizerInterface; @@ -22,6 +23,8 @@ use Symfony\Component\Serializer\Tests\Fixtures\ScalarDummy; class XmlEncoderTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var XmlEncoder */ @@ -29,7 +32,7 @@ class XmlEncoderTest extends TestCase private $exampleDateTimeString = '2017-02-19T15:16:08+0300'; - protected function setUp() + private function doSetUp() { $this->encoder = new XmlEncoder(); $serializer = new Serializer([new CustomNormalizer()], ['xml' => new XmlEncoder()]); diff --git a/src/Symfony/Component/Serializer/Tests/Mapping/Loader/AnnotationLoaderTest.php b/src/Symfony/Component/Serializer/Tests/Mapping/Loader/AnnotationLoaderTest.php index c042b15f89..9e0a5e5e93 100644 --- a/src/Symfony/Component/Serializer/Tests/Mapping/Loader/AnnotationLoaderTest.php +++ b/src/Symfony/Component/Serializer/Tests/Mapping/Loader/AnnotationLoaderTest.php @@ -13,6 +13,7 @@ namespace Symfony\Component\Serializer\Tests\Mapping\Loader; use Doctrine\Common\Annotations\AnnotationReader; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Serializer\Mapping\AttributeMetadata; use Symfony\Component\Serializer\Mapping\ClassDiscriminatorMapping; use Symfony\Component\Serializer\Mapping\ClassMetadata; @@ -27,12 +28,14 @@ use Symfony\Component\Serializer\Tests\Mapping\TestClassMetadataFactory; */ class AnnotationLoaderTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var AnnotationLoader */ private $loader; - protected function setUp() + private function doSetUp() { $this->loader = new AnnotationLoader(new AnnotationReader()); } diff --git a/src/Symfony/Component/Serializer/Tests/Mapping/Loader/XmlFileLoaderTest.php b/src/Symfony/Component/Serializer/Tests/Mapping/Loader/XmlFileLoaderTest.php index 13634a63ab..a108c379a4 100644 --- a/src/Symfony/Component/Serializer/Tests/Mapping/Loader/XmlFileLoaderTest.php +++ b/src/Symfony/Component/Serializer/Tests/Mapping/Loader/XmlFileLoaderTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Serializer\Tests\Mapping\Loader; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Serializer\Mapping\AttributeMetadata; use Symfony\Component\Serializer\Mapping\ClassDiscriminatorMapping; use Symfony\Component\Serializer\Mapping\ClassMetadata; @@ -26,6 +27,8 @@ use Symfony\Component\Serializer\Tests\Mapping\TestClassMetadataFactory; */ class XmlFileLoaderTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var XmlFileLoader */ @@ -35,7 +38,7 @@ class XmlFileLoaderTest extends TestCase */ private $metadata; - protected function setUp() + private function doSetUp() { $this->loader = new XmlFileLoader(__DIR__.'/../../Fixtures/serialization.xml'); $this->metadata = new ClassMetadata('Symfony\Component\Serializer\Tests\Fixtures\GroupDummy'); diff --git a/src/Symfony/Component/Serializer/Tests/Mapping/Loader/YamlFileLoaderTest.php b/src/Symfony/Component/Serializer/Tests/Mapping/Loader/YamlFileLoaderTest.php index 78e3891bb3..73f5f4a4f1 100644 --- a/src/Symfony/Component/Serializer/Tests/Mapping/Loader/YamlFileLoaderTest.php +++ b/src/Symfony/Component/Serializer/Tests/Mapping/Loader/YamlFileLoaderTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Serializer\Tests\Mapping\Loader; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Serializer\Mapping\AttributeMetadata; use Symfony\Component\Serializer\Mapping\ClassDiscriminatorMapping; use Symfony\Component\Serializer\Mapping\ClassMetadata; @@ -26,6 +27,8 @@ use Symfony\Component\Serializer\Tests\Mapping\TestClassMetadataFactory; */ class YamlFileLoaderTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var YamlFileLoader */ @@ -35,7 +38,7 @@ class YamlFileLoaderTest extends TestCase */ private $metadata; - protected function setUp() + private function doSetUp() { $this->loader = new YamlFileLoader(__DIR__.'/../../Fixtures/serialization.yml'); $this->metadata = new ClassMetadata('Symfony\Component\Serializer\Tests\Fixtures\GroupDummy'); diff --git a/src/Symfony/Component/Serializer/Tests/Normalizer/AbstractNormalizerTest.php b/src/Symfony/Component/Serializer/Tests/Normalizer/AbstractNormalizerTest.php index 65da3aa3db..3f6aed5861 100644 --- a/src/Symfony/Component/Serializer/Tests/Normalizer/AbstractNormalizerTest.php +++ b/src/Symfony/Component/Serializer/Tests/Normalizer/AbstractNormalizerTest.php @@ -3,6 +3,7 @@ namespace Symfony\Component\Serializer\Tests\Normalizer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Serializer\Mapping\AttributeMetadata; use Symfony\Component\Serializer\Mapping\ClassMetadata; use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface; @@ -24,6 +25,8 @@ use Symfony\Component\Serializer\Tests\Fixtures\VariadicConstructorTypedArgsDumm */ class AbstractNormalizerTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var AbstractNormalizerDummy */ @@ -34,7 +37,7 @@ class AbstractNormalizerTest extends TestCase */ private $classMetadata; - protected function setUp() + private function doSetUp() { $loader = $this->getMockBuilder('Symfony\Component\Serializer\Mapping\Loader\LoaderChain')->setConstructorArgs([[]])->getMock(); $this->classMetadata = $this->getMockBuilder('Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactory')->setConstructorArgs([$loader])->getMock(); diff --git a/src/Symfony/Component/Serializer/Tests/Normalizer/ArrayDenormalizerTest.php b/src/Symfony/Component/Serializer/Tests/Normalizer/ArrayDenormalizerTest.php index 132f3c0806..efe18b24f5 100644 --- a/src/Symfony/Component/Serializer/Tests/Normalizer/ArrayDenormalizerTest.php +++ b/src/Symfony/Component/Serializer/Tests/Normalizer/ArrayDenormalizerTest.php @@ -12,11 +12,14 @@ namespace Symfony\Component\Serializer\Tests\Normalizer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Serializer\Normalizer\ArrayDenormalizer; use Symfony\Component\Serializer\SerializerInterface; class ArrayDenormalizerTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var ArrayDenormalizer */ @@ -27,7 +30,7 @@ class ArrayDenormalizerTest extends TestCase */ private $serializer; - protected function setUp() + private function doSetUp() { $this->serializer = $this->getMockBuilder('Symfony\Component\Serializer\Serializer')->getMock(); $this->denormalizer = new ArrayDenormalizer(); diff --git a/src/Symfony/Component/Serializer/Tests/Normalizer/CustomNormalizerTest.php b/src/Symfony/Component/Serializer/Tests/Normalizer/CustomNormalizerTest.php index 28fb73ece5..3a20f800b0 100644 --- a/src/Symfony/Component/Serializer/Tests/Normalizer/CustomNormalizerTest.php +++ b/src/Symfony/Component/Serializer/Tests/Normalizer/CustomNormalizerTest.php @@ -12,18 +12,21 @@ namespace Symfony\Component\Serializer\Tests\Normalizer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Serializer\Normalizer\CustomNormalizer; use Symfony\Component\Serializer\Serializer; use Symfony\Component\Serializer\Tests\Fixtures\ScalarDummy; class CustomNormalizerTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var CustomNormalizer */ private $normalizer; - protected function setUp() + private function doSetUp() { $this->normalizer = new CustomNormalizer(); $this->normalizer->setSerializer(new Serializer()); diff --git a/src/Symfony/Component/Serializer/Tests/Normalizer/DataUriNormalizerTest.php b/src/Symfony/Component/Serializer/Tests/Normalizer/DataUriNormalizerTest.php index bb2ca64129..62a55ac02c 100644 --- a/src/Symfony/Component/Serializer/Tests/Normalizer/DataUriNormalizerTest.php +++ b/src/Symfony/Component/Serializer/Tests/Normalizer/DataUriNormalizerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Serializer\Tests\Normalizer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\File\File; use Symfony\Component\Serializer\Normalizer\DataUriNormalizer; @@ -20,6 +21,8 @@ use Symfony\Component\Serializer\Normalizer\DataUriNormalizer; */ class DataUriNormalizerTest extends TestCase { + use ForwardCompatTestTrait; + const TEST_GIF_DATA = 'data:image/gif;base64,R0lGODdhAQABAIAAAP///////ywAAAAAAQABAAACAkQBADs='; const TEST_TXT_DATA = 'data:text/plain,K%C3%A9vin%20Dunglas%0A'; const TEST_TXT_CONTENT = "Kévin Dunglas\n"; @@ -29,7 +32,7 @@ class DataUriNormalizerTest extends TestCase */ private $normalizer; - protected function setUp() + private function doSetUp() { $this->normalizer = new DataUriNormalizer(); } diff --git a/src/Symfony/Component/Serializer/Tests/Normalizer/DateIntervalNormalizerTest.php b/src/Symfony/Component/Serializer/Tests/Normalizer/DateIntervalNormalizerTest.php index fb6bbfe54d..75061fffb5 100644 --- a/src/Symfony/Component/Serializer/Tests/Normalizer/DateIntervalNormalizerTest.php +++ b/src/Symfony/Component/Serializer/Tests/Normalizer/DateIntervalNormalizerTest.php @@ -3,6 +3,7 @@ namespace Symfony\Component\Serializer\Tests\Normalizer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Serializer\Normalizer\DateIntervalNormalizer; /** @@ -10,12 +11,14 @@ use Symfony\Component\Serializer\Normalizer\DateIntervalNormalizer; */ class DateIntervalNormalizerTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var DateIntervalNormalizer */ private $normalizer; - protected function setUp() + private function doSetUp() { $this->normalizer = new DateIntervalNormalizer(); } diff --git a/src/Symfony/Component/Serializer/Tests/Normalizer/DateTimeNormalizerTest.php b/src/Symfony/Component/Serializer/Tests/Normalizer/DateTimeNormalizerTest.php index c213f663ee..138c50ac05 100644 --- a/src/Symfony/Component/Serializer/Tests/Normalizer/DateTimeNormalizerTest.php +++ b/src/Symfony/Component/Serializer/Tests/Normalizer/DateTimeNormalizerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Serializer\Tests\Normalizer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Serializer\Normalizer\DateTimeNormalizer; /** @@ -19,12 +20,14 @@ use Symfony\Component\Serializer\Normalizer\DateTimeNormalizer; */ class DateTimeNormalizerTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var DateTimeNormalizer */ private $normalizer; - protected function setUp() + private function doSetUp() { $this->normalizer = new DateTimeNormalizer(); } diff --git a/src/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php b/src/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php index c95a819619..f2adbb8c25 100644 --- a/src/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php +++ b/src/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php @@ -13,6 +13,7 @@ namespace Symfony\Component\Serializer\Tests\Normalizer; use Doctrine\Common\Annotations\AnnotationReader; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\PropertyInfo\Extractor\PhpDocExtractor; use Symfony\Component\PropertyInfo\Extractor\ReflectionExtractor; use Symfony\Component\PropertyInfo\PropertyInfoExtractor; @@ -41,6 +42,7 @@ use Symfony\Component\Serializer\Tests\Normalizer\Features\TypeEnforcementTestTr class GetSetMethodNormalizerTest extends TestCase { + use ForwardCompatTestTrait; use CallbacksTestTrait; use CircularReferenceTestTrait; use ConstructorArgumentsTestTrait; @@ -59,7 +61,7 @@ class GetSetMethodNormalizerTest extends TestCase */ private $serializer; - protected function setUp() + private function doSetUp() { $this->createNormalizer(); } diff --git a/src/Symfony/Component/Serializer/Tests/Normalizer/JsonSerializableNormalizerTest.php b/src/Symfony/Component/Serializer/Tests/Normalizer/JsonSerializableNormalizerTest.php index ce4c3f1ce1..f3d7f0d6e9 100644 --- a/src/Symfony/Component/Serializer/Tests/Normalizer/JsonSerializableNormalizerTest.php +++ b/src/Symfony/Component/Serializer/Tests/Normalizer/JsonSerializableNormalizerTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Serializer\Tests\Normalizer; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Serializer\Normalizer\JsonSerializableNormalizer; use Symfony\Component\Serializer\Normalizer\NormalizerInterface; use Symfony\Component\Serializer\SerializerInterface; @@ -22,6 +23,8 @@ use Symfony\Component\Serializer\Tests\Fixtures\JsonSerializableDummy; */ class JsonSerializableNormalizerTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var JsonSerializableNormalizer */ @@ -32,7 +35,7 @@ class JsonSerializableNormalizerTest extends TestCase */ private $serializer; - protected function setUp() + private function doSetUp() { $this->createNormalizer(); } diff --git a/src/Symfony/Component/Serializer/Tests/Normalizer/ObjectNormalizerTest.php b/src/Symfony/Component/Serializer/Tests/Normalizer/ObjectNormalizerTest.php index 2f9bdff22f..3ece2a0df5 100644 --- a/src/Symfony/Component/Serializer/Tests/Normalizer/ObjectNormalizerTest.php +++ b/src/Symfony/Component/Serializer/Tests/Normalizer/ObjectNormalizerTest.php @@ -13,6 +13,7 @@ namespace Symfony\Component\Serializer\Tests\Normalizer; use Doctrine\Common\Annotations\AnnotationReader; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\PropertyInfo\Extractor\PhpDocExtractor; use Symfony\Component\PropertyInfo\Extractor\ReflectionExtractor; use Symfony\Component\PropertyInfo\PropertyInfoExtractor; @@ -48,6 +49,7 @@ use Symfony\Component\Serializer\Tests\Normalizer\Features\TypeEnforcementTestTr */ class ObjectNormalizerTest extends TestCase { + use ForwardCompatTestTrait; use AttributesTestTrait; use CallbacksTestTrait; use CircularReferenceTestTrait; @@ -68,7 +70,7 @@ class ObjectNormalizerTest extends TestCase */ private $serializer; - protected function setUp() + private function doSetUp() { $this->createNormalizer(); } diff --git a/src/Symfony/Component/Serializer/Tests/Normalizer/PropertyNormalizerTest.php b/src/Symfony/Component/Serializer/Tests/Normalizer/PropertyNormalizerTest.php index 6f18741254..dbe281f62b 100644 --- a/src/Symfony/Component/Serializer/Tests/Normalizer/PropertyNormalizerTest.php +++ b/src/Symfony/Component/Serializer/Tests/Normalizer/PropertyNormalizerTest.php @@ -13,6 +13,7 @@ namespace Symfony\Component\Serializer\Tests\Normalizer; use Doctrine\Common\Annotations\AnnotationReader; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\PropertyInfo\Extractor\PhpDocExtractor; use Symfony\Component\PropertyInfo\Extractor\ReflectionExtractor; use Symfony\Component\PropertyInfo\PropertyInfoExtractor; @@ -40,6 +41,7 @@ use Symfony\Component\Serializer\Tests\Normalizer\Features\TypeEnforcementTestTr class PropertyNormalizerTest extends TestCase { + use ForwardCompatTestTrait; use CallbacksTestTrait; use CircularReferenceTestTrait; use ConstructorArgumentsTestTrait; @@ -59,7 +61,7 @@ class PropertyNormalizerTest extends TestCase */ private $serializer; - protected function setUp() + private function doSetUp() { $this->createNormalizer(); } diff --git a/src/Symfony/Component/Templating/Tests/Loader/ChainLoaderTest.php b/src/Symfony/Component/Templating/Tests/Loader/ChainLoaderTest.php index c81698bd89..a5a344bc73 100644 --- a/src/Symfony/Component/Templating/Tests/Loader/ChainLoaderTest.php +++ b/src/Symfony/Component/Templating/Tests/Loader/ChainLoaderTest.php @@ -12,16 +12,19 @@ namespace Symfony\Component\Templating\Tests\Loader; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Templating\Loader\ChainLoader; use Symfony\Component\Templating\Loader\FilesystemLoader; use Symfony\Component\Templating\TemplateReference; class ChainLoaderTest extends TestCase { + use ForwardCompatTestTrait; + protected $loader1; protected $loader2; - protected function setUp() + private function doSetUp() { $fixturesPath = realpath(__DIR__.'/../Fixtures/'); $this->loader1 = new FilesystemLoader($fixturesPath.'/null/%name%'); diff --git a/src/Symfony/Component/Templating/Tests/Loader/FilesystemLoaderTest.php b/src/Symfony/Component/Templating/Tests/Loader/FilesystemLoaderTest.php index c6dcdefc95..e045e2473d 100644 --- a/src/Symfony/Component/Templating/Tests/Loader/FilesystemLoaderTest.php +++ b/src/Symfony/Component/Templating/Tests/Loader/FilesystemLoaderTest.php @@ -12,14 +12,17 @@ namespace Symfony\Component\Templating\Tests\Loader; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Templating\Loader\FilesystemLoader; use Symfony\Component\Templating\TemplateReference; class FilesystemLoaderTest extends TestCase { + use ForwardCompatTestTrait; + protected static $fixturesPath; - public static function setUpBeforeClass() + private static function doSetUpBeforeClass() { self::$fixturesPath = realpath(__DIR__.'/../Fixtures/'); } diff --git a/src/Symfony/Component/Templating/Tests/PhpEngineTest.php b/src/Symfony/Component/Templating/Tests/PhpEngineTest.php index 4c7e747e6e..cfa6c17516 100644 --- a/src/Symfony/Component/Templating/Tests/PhpEngineTest.php +++ b/src/Symfony/Component/Templating/Tests/PhpEngineTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Templating\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Templating\Helper\SlotsHelper; use Symfony\Component\Templating\Loader\Loader; use Symfony\Component\Templating\PhpEngine; @@ -22,14 +23,16 @@ use Symfony\Component\Templating\TemplateReferenceInterface; class PhpEngineTest extends TestCase { + use ForwardCompatTestTrait; + protected $loader; - protected function setUp() + private function doSetUp() { $this->loader = new ProjectTemplateLoader(); } - protected function tearDown() + private function doTearDown() { $this->loader = null; } diff --git a/src/Symfony/Component/Templating/Tests/TemplateNameParserTest.php b/src/Symfony/Component/Templating/Tests/TemplateNameParserTest.php index c67dc376c2..7088bad004 100644 --- a/src/Symfony/Component/Templating/Tests/TemplateNameParserTest.php +++ b/src/Symfony/Component/Templating/Tests/TemplateNameParserTest.php @@ -12,19 +12,22 @@ namespace Symfony\Component\Templating\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Templating\TemplateNameParser; use Symfony\Component\Templating\TemplateReference; class TemplateNameParserTest extends TestCase { + use ForwardCompatTestTrait; + protected $parser; - protected function setUp() + private function doSetUp() { $this->parser = new TemplateNameParser(); } - protected function tearDown() + private function doTearDown() { $this->parser = null; } diff --git a/src/Symfony/Component/Translation/Tests/DataCollector/TranslationDataCollectorTest.php b/src/Symfony/Component/Translation/Tests/DataCollector/TranslationDataCollectorTest.php index bd97a2445c..d0da3340e2 100644 --- a/src/Symfony/Component/Translation/Tests/DataCollector/TranslationDataCollectorTest.php +++ b/src/Symfony/Component/Translation/Tests/DataCollector/TranslationDataCollectorTest.php @@ -12,12 +12,15 @@ namespace Symfony\Component\Translation\Tests\DataCollector; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Translation\DataCollector\TranslationDataCollector; use Symfony\Component\Translation\DataCollectorTranslator; class TranslationDataCollectorTest extends TestCase { - protected function setUp() + use ForwardCompatTestTrait; + + private function doSetUp() { if (!class_exists('Symfony\Component\HttpKernel\DataCollector\DataCollector')) { $this->markTestSkipped('The "DataCollector" is not available'); diff --git a/src/Symfony/Component/Translation/Tests/Loader/LocalizedTestCase.php b/src/Symfony/Component/Translation/Tests/Loader/LocalizedTestCase.php index 279e9fde5b..98c1a2185a 100644 --- a/src/Symfony/Component/Translation/Tests/Loader/LocalizedTestCase.php +++ b/src/Symfony/Component/Translation/Tests/Loader/LocalizedTestCase.php @@ -12,10 +12,13 @@ namespace Symfony\Component\Translation\Tests\Loader; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; abstract class LocalizedTestCase extends TestCase { - protected function setUp() + use ForwardCompatTestTrait; + + private function doSetUp() { if (!\extension_loaded('intl')) { $this->markTestSkipped('Extension intl is required.'); diff --git a/src/Symfony/Component/Translation/Tests/TranslatorCacheTest.php b/src/Symfony/Component/Translation/Tests/TranslatorCacheTest.php index 5d437ff76c..6f716d93d7 100644 --- a/src/Symfony/Component/Translation/Tests/TranslatorCacheTest.php +++ b/src/Symfony/Component/Translation/Tests/TranslatorCacheTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Translation\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Config\Resource\SelfCheckingResourceInterface; use Symfony\Component\Translation\Loader\ArrayLoader; use Symfony\Component\Translation\Loader\LoaderInterface; @@ -20,15 +21,17 @@ use Symfony\Component\Translation\Translator; class TranslatorCacheTest extends TestCase { + use ForwardCompatTestTrait; + protected $tmpDir; - protected function setUp() + private function doSetUp() { $this->tmpDir = sys_get_temp_dir().'/sf_translation'; $this->deleteTmpDir(); } - protected function tearDown() + private function doTearDown() { $this->deleteTmpDir(); } diff --git a/src/Symfony/Component/Validator/Test/ConstraintValidatorTestCase.php b/src/Symfony/Component/Validator/Test/ConstraintValidatorTestCase.php index b4ec2037fc..ac9ace919d 100644 --- a/src/Symfony/Component/Validator/Test/ConstraintValidatorTestCase.php +++ b/src/Symfony/Component/Validator/Test/ConstraintValidatorTestCase.php @@ -30,7 +30,7 @@ use Symfony\Contracts\Translation\TranslatorInterface; */ abstract class ConstraintValidatorTestCase extends TestCase { - use TestCaseSetUpTearDownTrait; + use ForwardCompatTestTrait; /** * @var ExecutionContextInterface diff --git a/src/Symfony/Component/Validator/Test/TestCaseSetUpTearDownTrait.php b/src/Symfony/Component/Validator/Test/ForwardCompatTestTrait.php similarity index 94% rename from src/Symfony/Component/Validator/Test/TestCaseSetUpTearDownTrait.php rename to src/Symfony/Component/Validator/Test/ForwardCompatTestTrait.php index be05bbb33f..e058391e04 100644 --- a/src/Symfony/Component/Validator/Test/TestCaseSetUpTearDownTrait.php +++ b/src/Symfony/Component/Validator/Test/ForwardCompatTestTrait.php @@ -19,7 +19,7 @@ if ((new \ReflectionMethod(TestCase::class, 'tearDown'))->hasReturnType()) { /** * @internal */ - trait TestCaseSetUpTearDownTrait + trait ForwardCompatTestTrait { private function doSetUp(): void { @@ -43,7 +43,7 @@ if ((new \ReflectionMethod(TestCase::class, 'tearDown'))->hasReturnType()) { /** * @internal */ - trait TestCaseSetUpTearDownTrait + trait ForwardCompatTestTrait { /** * @return void diff --git a/src/Symfony/Component/Validator/Tests/ConstraintViolationListTest.php b/src/Symfony/Component/Validator/Tests/ConstraintViolationListTest.php index 73d81cbfad..35cf81cf7d 100644 --- a/src/Symfony/Component/Validator/Tests/ConstraintViolationListTest.php +++ b/src/Symfony/Component/Validator/Tests/ConstraintViolationListTest.php @@ -12,19 +12,22 @@ namespace Symfony\Component\Validator\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Validator\ConstraintViolation; use Symfony\Component\Validator\ConstraintViolationList; class ConstraintViolationListTest extends TestCase { + use ForwardCompatTestTrait; + protected $list; - protected function setUp() + private function doSetUp() { $this->list = new ConstraintViolationList(); } - protected function tearDown() + private function doTearDown() { $this->list = null; } diff --git a/src/Symfony/Component/Validator/Tests/Constraints/FileValidatorTest.php b/src/Symfony/Component/Validator/Tests/Constraints/FileValidatorTest.php index 7e75f8151f..cdcbe4e24b 100644 --- a/src/Symfony/Component/Validator/Tests/Constraints/FileValidatorTest.php +++ b/src/Symfony/Component/Validator/Tests/Constraints/FileValidatorTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Tests\Constraints; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\HttpFoundation\File\UploadedFile; use Symfony\Component\Validator\Constraints\File; use Symfony\Component\Validator\Constraints\FileValidator; @@ -18,6 +19,8 @@ use Symfony\Component\Validator\Test\ConstraintValidatorTestCase; abstract class FileValidatorTest extends ConstraintValidatorTestCase { + use ForwardCompatTestTrait; + protected $path; protected $file; @@ -27,7 +30,7 @@ abstract class FileValidatorTest extends ConstraintValidatorTestCase return new FileValidator(); } - protected function setUp() + private function doSetUp() { parent::setUp(); @@ -36,7 +39,7 @@ abstract class FileValidatorTest extends ConstraintValidatorTestCase fwrite($this->file, ' ', 1); } - protected function tearDown() + private function doTearDown() { parent::tearDown(); diff --git a/src/Symfony/Component/Validator/Tests/Constraints/ImageValidatorTest.php b/src/Symfony/Component/Validator/Tests/Constraints/ImageValidatorTest.php index aa8ad4cf55..22bb93bd09 100644 --- a/src/Symfony/Component/Validator/Tests/Constraints/ImageValidatorTest.php +++ b/src/Symfony/Component/Validator/Tests/Constraints/ImageValidatorTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Tests\Constraints; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Validator\Constraints\Image; use Symfony\Component\Validator\Constraints\ImageValidator; use Symfony\Component\Validator\Test\ConstraintValidatorTestCase; @@ -20,6 +21,8 @@ use Symfony\Component\Validator\Test\ConstraintValidatorTestCase; */ class ImageValidatorTest extends ConstraintValidatorTestCase { + use ForwardCompatTestTrait; + protected $context; /** @@ -39,7 +42,7 @@ class ImageValidatorTest extends ConstraintValidatorTestCase return new ImageValidator(); } - protected function setUp() + private function doSetUp() { parent::setUp(); diff --git a/src/Symfony/Component/Validator/Tests/Constraints/TypeValidatorTest.php b/src/Symfony/Component/Validator/Tests/Constraints/TypeValidatorTest.php index af032ef761..f1960f5394 100644 --- a/src/Symfony/Component/Validator/Tests/Constraints/TypeValidatorTest.php +++ b/src/Symfony/Component/Validator/Tests/Constraints/TypeValidatorTest.php @@ -11,12 +11,15 @@ namespace Symfony\Component\Validator\Tests\Constraints; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Validator\Constraints\Type; use Symfony\Component\Validator\Constraints\TypeValidator; use Symfony\Component\Validator\Test\ConstraintValidatorTestCase; class TypeValidatorTest extends ConstraintValidatorTestCase { + use ForwardCompatTestTrait; + protected static $file; protected function createValidator() @@ -218,7 +221,7 @@ class TypeValidatorTest extends ConstraintValidatorTestCase return static::$file; } - public static function tearDownAfterClass() + private static function doTearDownAfterClass() { if (static::$file) { fclose(static::$file); diff --git a/src/Symfony/Component/Validator/Tests/Mapping/Cache/DoctrineCacheTest.php b/src/Symfony/Component/Validator/Tests/Mapping/Cache/DoctrineCacheTest.php index 6296030fd7..171608755f 100644 --- a/src/Symfony/Component/Validator/Tests/Mapping/Cache/DoctrineCacheTest.php +++ b/src/Symfony/Component/Validator/Tests/Mapping/Cache/DoctrineCacheTest.php @@ -12,11 +12,14 @@ namespace Symfony\Component\Validator\Tests\Mapping\Cache; use Doctrine\Common\Cache\ArrayCache; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Validator\Mapping\Cache\DoctrineCache; class DoctrineCacheTest extends AbstractCacheTest { - protected function setUp() + use ForwardCompatTestTrait; + + private function doSetUp() { $this->cache = new DoctrineCache(new ArrayCache()); } diff --git a/src/Symfony/Component/Validator/Tests/Mapping/Cache/Psr6CacheTest.php b/src/Symfony/Component/Validator/Tests/Mapping/Cache/Psr6CacheTest.php index fcac5e232a..e704732fad 100644 --- a/src/Symfony/Component/Validator/Tests/Mapping/Cache/Psr6CacheTest.php +++ b/src/Symfony/Component/Validator/Tests/Mapping/Cache/Psr6CacheTest.php @@ -2,6 +2,7 @@ namespace Symfony\Component\Validator\Tests\Mapping\Cache; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Cache\Adapter\ArrayAdapter; use Symfony\Component\Validator\Mapping\Cache\Psr6Cache; use Symfony\Component\Validator\Mapping\ClassMetadata; @@ -11,7 +12,9 @@ use Symfony\Component\Validator\Mapping\ClassMetadata; */ class Psr6CacheTest extends AbstractCacheTest { - protected function setUp() + use ForwardCompatTestTrait; + + private function doSetUp() { $this->cache = new Psr6Cache(new ArrayAdapter()); } diff --git a/src/Symfony/Component/Validator/Tests/Mapping/ClassMetadataTest.php b/src/Symfony/Component/Validator/Tests/Mapping/ClassMetadataTest.php index f2193d0bd5..bb1c2fed0c 100644 --- a/src/Symfony/Component/Validator/Tests/Mapping/ClassMetadataTest.php +++ b/src/Symfony/Component/Validator/Tests/Mapping/ClassMetadataTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Validator\Tests\Mapping; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\Constraints\Valid; use Symfony\Component\Validator\Mapping\ClassMetadata; @@ -21,6 +22,8 @@ use Symfony\Component\Validator\Tests\Fixtures\PropertyConstraint; class ClassMetadataTest extends TestCase { + use ForwardCompatTestTrait; + const CLASSNAME = 'Symfony\Component\Validator\Tests\Fixtures\Entity'; const PARENTCLASS = 'Symfony\Component\Validator\Tests\Fixtures\EntityParent'; const PROVIDERCLASS = 'Symfony\Component\Validator\Tests\Fixtures\GroupSequenceProviderEntity'; @@ -28,12 +31,12 @@ class ClassMetadataTest extends TestCase protected $metadata; - protected function setUp() + private function doSetUp() { $this->metadata = new ClassMetadata(self::CLASSNAME); } - protected function tearDown() + private function doTearDown() { $this->metadata = null; } diff --git a/src/Symfony/Component/Validator/Tests/Mapping/Loader/StaticMethodLoaderTest.php b/src/Symfony/Component/Validator/Tests/Mapping/Loader/StaticMethodLoaderTest.php index 069ccd3229..80e1f5e7c4 100644 --- a/src/Symfony/Component/Validator/Tests/Mapping/Loader/StaticMethodLoaderTest.php +++ b/src/Symfony/Component/Validator/Tests/Mapping/Loader/StaticMethodLoaderTest.php @@ -12,20 +12,23 @@ namespace Symfony\Component\Validator\Tests\Mapping\Loader; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Validator\Mapping\ClassMetadata; use Symfony\Component\Validator\Mapping\Loader\StaticMethodLoader; use Symfony\Component\Validator\Tests\Fixtures\ConstraintA; class StaticMethodLoaderTest extends TestCase { + use ForwardCompatTestTrait; + private $errorLevel; - protected function setUp() + private function doSetUp() { $this->errorLevel = error_reporting(); } - protected function tearDown() + private function doTearDown() { error_reporting($this->errorLevel); } diff --git a/src/Symfony/Component/Validator/Tests/Mapping/MemberMetadataTest.php b/src/Symfony/Component/Validator/Tests/Mapping/MemberMetadataTest.php index 651ba95642..cab61e9225 100644 --- a/src/Symfony/Component/Validator/Tests/Mapping/MemberMetadataTest.php +++ b/src/Symfony/Component/Validator/Tests/Mapping/MemberMetadataTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Validator\Tests\Mapping; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Validator\Constraints\Valid; use Symfony\Component\Validator\Mapping\MemberMetadata; use Symfony\Component\Validator\Tests\Fixtures\ClassConstraint; @@ -20,9 +21,11 @@ use Symfony\Component\Validator\Tests\Fixtures\ConstraintB; class MemberMetadataTest extends TestCase { + use ForwardCompatTestTrait; + protected $metadata; - protected function setUp() + private function doSetUp() { $this->metadata = new TestMemberMetadata( 'Symfony\Component\Validator\Tests\Fixtures\Entity', @@ -31,7 +34,7 @@ class MemberMetadataTest extends TestCase ); } - protected function tearDown() + private function doTearDown() { $this->metadata = null; } diff --git a/src/Symfony/Component/Validator/Tests/Validator/AbstractTest.php b/src/Symfony/Component/Validator/Tests/Validator/AbstractTest.php index c9c05a0edf..a2525311c5 100644 --- a/src/Symfony/Component/Validator/Tests/Validator/AbstractTest.php +++ b/src/Symfony/Component/Validator/Tests/Validator/AbstractTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Tests\Validator; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Validator\Constraints\Callback; use Symfony\Component\Validator\Constraints\Collection; use Symfony\Component\Validator\Constraints\Expression; @@ -33,6 +34,8 @@ use Symfony\Component\Validator\Validator\ValidatorInterface; */ abstract class AbstractTest extends AbstractValidatorTest { + use ForwardCompatTestTrait; + /** * @var ValidatorInterface */ @@ -43,7 +46,7 @@ abstract class AbstractTest extends AbstractValidatorTest */ abstract protected function createValidator(MetadataFactoryInterface $metadataFactory, array $objectInitializers = []); - protected function setUp() + private function doSetUp() { parent::setUp(); diff --git a/src/Symfony/Component/Validator/Tests/Validator/AbstractValidatorTest.php b/src/Symfony/Component/Validator/Tests/Validator/AbstractValidatorTest.php index 884ccc7da0..e07a158fa2 100644 --- a/src/Symfony/Component/Validator/Tests/Validator/AbstractValidatorTest.php +++ b/src/Symfony/Component/Validator/Tests/Validator/AbstractValidatorTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Validator\Tests\Validator; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Validator\Constraints\Callback; use Symfony\Component\Validator\Constraints\GroupSequence; use Symfony\Component\Validator\Constraints\Valid; @@ -28,6 +29,8 @@ use Symfony\Component\Validator\Tests\Fixtures\Reference; */ abstract class AbstractValidatorTest extends TestCase { + use ForwardCompatTestTrait; + const ENTITY_CLASS = 'Symfony\Component\Validator\Tests\Fixtures\Entity'; const REFERENCE_CLASS = 'Symfony\Component\Validator\Tests\Fixtures\Reference'; @@ -47,7 +50,7 @@ abstract class AbstractValidatorTest extends TestCase */ public $referenceMetadata; - protected function setUp() + private function doSetUp() { $this->metadataFactory = new FakeMetadataFactory(); $this->metadata = new ClassMetadata(self::ENTITY_CLASS); @@ -56,7 +59,7 @@ abstract class AbstractValidatorTest extends TestCase $this->metadataFactory->addMetadata($this->referenceMetadata); } - protected function tearDown() + private function doTearDown() { $this->metadataFactory = null; $this->metadata = null; diff --git a/src/Symfony/Component/Validator/Tests/ValidatorBuilderTest.php b/src/Symfony/Component/Validator/Tests/ValidatorBuilderTest.php index de38264031..c4a648259d 100644 --- a/src/Symfony/Component/Validator/Tests/ValidatorBuilderTest.php +++ b/src/Symfony/Component/Validator/Tests/ValidatorBuilderTest.php @@ -12,21 +12,24 @@ namespace Symfony\Component\Validator\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Validator\ValidatorBuilder; class ValidatorBuilderTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var ValidatorBuilder */ protected $builder; - protected function setUp() + private function doSetUp() { $this->builder = new ValidatorBuilder(); } - protected function tearDown() + private function doTearDown() { $this->builder = null; } diff --git a/src/Symfony/Component/VarDumper/Tests/Caster/ExceptionCasterTest.php b/src/Symfony/Component/VarDumper/Tests/Caster/ExceptionCasterTest.php index 0b9c2ed3fb..0413d10dcb 100644 --- a/src/Symfony/Component/VarDumper/Tests/Caster/ExceptionCasterTest.php +++ b/src/Symfony/Component/VarDumper/Tests/Caster/ExceptionCasterTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\VarDumper\Tests\Caster; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\VarDumper\Caster\Caster; use Symfony\Component\VarDumper\Caster\ExceptionCaster; use Symfony\Component\VarDumper\Caster\FrameStub; @@ -21,6 +22,7 @@ use Symfony\Component\VarDumper\Test\VarDumperTestTrait; class ExceptionCasterTest extends TestCase { + use ForwardCompatTestTrait; use VarDumperTestTrait; private function getTestException($msg, &$ref = null) @@ -28,7 +30,7 @@ class ExceptionCasterTest extends TestCase return new \Exception(''.$msg); } - protected function tearDown() + private function doTearDown() { ExceptionCaster::$srcContext = 1; ExceptionCaster::$traceArgs = true; @@ -44,14 +46,14 @@ Exception { #message: "foo" #code: 0 #file: "%sExceptionCasterTest.php" - #line: 28 + #line: 30 trace: { - %s%eTests%eCaster%eExceptionCasterTest.php:28 { + %s%eTests%eCaster%eExceptionCasterTest.php:30 { › { › return new \Exception(''.$msg); › } } - %s%eTests%eCaster%eExceptionCasterTest.php:40 { …} + %s%eTests%eCaster%eExceptionCasterTest.php:42 { …} Symfony\Component\VarDumper\Tests\Caster\ExceptionCasterTest->testDefaultSettings() {} %A EODUMP; @@ -66,12 +68,12 @@ EODUMP; $expectedDump = <<<'EODUMP' { - %s%eTests%eCaster%eExceptionCasterTest.php:28 { + %s%eTests%eCaster%eExceptionCasterTest.php:30 { › { › return new \Exception(''.$msg); › } } - %s%eTests%eCaster%eExceptionCasterTest.php:65 { …} + %s%eTests%eCaster%eExceptionCasterTest.php:67 { …} Symfony\Component\VarDumper\Tests\Caster\ExceptionCasterTest->testSeek() {} %A EODUMP; @@ -89,14 +91,14 @@ Exception { #message: "1" #code: 0 #file: "%sExceptionCasterTest.php" - #line: 28 + #line: 30 trace: { - %sExceptionCasterTest.php:28 { + %sExceptionCasterTest.php:30 { › { › return new \Exception(''.$msg); › } } - %s%eTests%eCaster%eExceptionCasterTest.php:84 { …} + %s%eTests%eCaster%eExceptionCasterTest.php:86 { …} Symfony\Component\VarDumper\Tests\Caster\ExceptionCasterTest->testNoArgs() {} %A EODUMP; @@ -114,9 +116,9 @@ Exception { #message: "1" #code: 0 #file: "%sExceptionCasterTest.php" - #line: 28 + #line: 30 trace: { - %s%eTests%eCaster%eExceptionCasterTest.php:28 + %s%eTests%eCaster%eExceptionCasterTest.php:30 %s%eTests%eCaster%eExceptionCasterTest.php:%d %A EODUMP; @@ -146,10 +148,10 @@ EODUMP; #code: 0 #file: "%s%eVarDumper%eTests%eCaster%eExceptionCasterTest.php" - #line: 28 + #line: 30 trace: { %s%eVarDumper%eTests%eCaster%eExceptionCasterTest.php:28 +Stack level %d.">%s%eVarDumper%eTests%eCaster%eExceptionCasterTest.php:30 …%d } } @@ -221,7 +223,7 @@ Exception { #message: "foo" #code: 0 #file: "%sExceptionCasterTest.php" - #line: 28 + #line: 30 } EODUMP; diff --git a/src/Symfony/Component/VarDumper/Tests/Caster/XmlReaderCasterTest.php b/src/Symfony/Component/VarDumper/Tests/Caster/XmlReaderCasterTest.php index 1d7b3f6278..fff7dd3219 100644 --- a/src/Symfony/Component/VarDumper/Tests/Caster/XmlReaderCasterTest.php +++ b/src/Symfony/Component/VarDumper/Tests/Caster/XmlReaderCasterTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\VarDumper\Tests\Caster; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\VarDumper\Test\VarDumperTestTrait; /** @@ -19,18 +20,19 @@ use Symfony\Component\VarDumper\Test\VarDumperTestTrait; */ class XmlReaderCasterTest extends TestCase { + use ForwardCompatTestTrait; use VarDumperTestTrait; /** @var \XmlReader */ private $reader; - protected function setUp() + private function doSetUp() { $this->reader = new \XmlReader(); $this->reader->open(__DIR__.'/../Fixtures/xml_reader.xml'); } - protected function tearDown() + private function doTearDown() { $this->reader->close(); } diff --git a/src/Symfony/Component/WebLink/Tests/HttpHeaderSerializerTest.php b/src/Symfony/Component/WebLink/Tests/HttpHeaderSerializerTest.php index fb4bbd96f2..b2e5c70c4a 100644 --- a/src/Symfony/Component/WebLink/Tests/HttpHeaderSerializerTest.php +++ b/src/Symfony/Component/WebLink/Tests/HttpHeaderSerializerTest.php @@ -13,16 +13,19 @@ namespace Symfony\Component\WebLink\Tests; use Fig\Link\Link; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\WebLink\HttpHeaderSerializer; class HttpHeaderSerializerTest extends TestCase { + use ForwardCompatTestTrait; + /** * @var HttpHeaderSerializer */ private $serializer; - protected function setUp() + private function doSetUp() { $this->serializer = new HttpHeaderSerializer(); } diff --git a/src/Symfony/Component/Workflow/Tests/Dumper/GraphvizDumperTest.php b/src/Symfony/Component/Workflow/Tests/Dumper/GraphvizDumperTest.php index 1c769edb2a..04d75de97d 100644 --- a/src/Symfony/Component/Workflow/Tests/Dumper/GraphvizDumperTest.php +++ b/src/Symfony/Component/Workflow/Tests/Dumper/GraphvizDumperTest.php @@ -3,17 +3,19 @@ namespace Symfony\Component\Workflow\Tests\Dumper; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Workflow\Dumper\GraphvizDumper; use Symfony\Component\Workflow\Marking; use Symfony\Component\Workflow\Tests\WorkflowBuilderTrait; class GraphvizDumperTest extends TestCase { + use ForwardCompatTestTrait; use WorkflowBuilderTrait; private $dumper; - protected function setUp() + private function doSetUp() { $this->dumper = new GraphvizDumper(); } diff --git a/src/Symfony/Component/Workflow/Tests/Dumper/StateMachineGraphvizDumperTest.php b/src/Symfony/Component/Workflow/Tests/Dumper/StateMachineGraphvizDumperTest.php index 0507b70ae1..62e9c851df 100644 --- a/src/Symfony/Component/Workflow/Tests/Dumper/StateMachineGraphvizDumperTest.php +++ b/src/Symfony/Component/Workflow/Tests/Dumper/StateMachineGraphvizDumperTest.php @@ -3,17 +3,19 @@ namespace Symfony\Component\Workflow\Tests\Dumper; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Workflow\Dumper\StateMachineGraphvizDumper; use Symfony\Component\Workflow\Marking; use Symfony\Component\Workflow\Tests\WorkflowBuilderTrait; class StateMachineGraphvizDumperTest extends TestCase { + use ForwardCompatTestTrait; use WorkflowBuilderTrait; private $dumper; - protected function setUp() + private function doSetUp() { $this->dumper = new StateMachineGraphvizDumper(); } diff --git a/src/Symfony/Component/Workflow/Tests/EventListener/GuardListenerTest.php b/src/Symfony/Component/Workflow/Tests/EventListener/GuardListenerTest.php index 0245daa0ac..947a47bb26 100644 --- a/src/Symfony/Component/Workflow/Tests/EventListener/GuardListenerTest.php +++ b/src/Symfony/Component/Workflow/Tests/EventListener/GuardListenerTest.php @@ -3,6 +3,7 @@ namespace Symfony\Component\Workflow\Tests\EventListener; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Security\Core\Authentication\AuthenticationTrustResolverInterface; use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface; use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken; @@ -20,12 +21,14 @@ use Symfony\Component\Workflow\WorkflowInterface; class GuardListenerTest extends TestCase { + use ForwardCompatTestTrait; + private $authenticationChecker; private $validator; private $listener; private $configuration; - protected function setUp() + private function doSetUp() { $this->configuration = [ 'test_is_granted' => 'is_granted("something")', @@ -46,7 +49,7 @@ class GuardListenerTest extends TestCase $this->listener = new GuardListener($this->configuration, $expressionLanguage, $tokenStorage, $this->authenticationChecker, $trustResolver, $roleHierarchy, $this->validator); } - protected function tearDown() + private function doTearDown() { $this->authenticationChecker = null; $this->validator = null; diff --git a/src/Symfony/Component/Workflow/Tests/RegistryTest.php b/src/Symfony/Component/Workflow/Tests/RegistryTest.php index 5e0b243925..f73c476897 100644 --- a/src/Symfony/Component/Workflow/Tests/RegistryTest.php +++ b/src/Symfony/Component/Workflow/Tests/RegistryTest.php @@ -3,6 +3,7 @@ namespace Symfony\Component\Workflow\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Workflow\Definition; use Symfony\Component\Workflow\MarkingStore\MarkingStoreInterface; use Symfony\Component\Workflow\Registry; @@ -12,9 +13,11 @@ use Symfony\Contracts\EventDispatcher\EventDispatcherInterface; class RegistryTest extends TestCase { + use ForwardCompatTestTrait; + private $registry; - protected function setUp() + private function doSetUp() { $this->registry = new Registry(); @@ -23,7 +26,7 @@ class RegistryTest extends TestCase $this->registry->addWorkflow(new Workflow(new Definition([], []), $this->getMockBuilder(MarkingStoreInterface::class)->getMock(), $this->getMockBuilder(EventDispatcherInterface::class)->getMock(), 'workflow3'), $this->createWorkflowSupportStrategy(Subject2::class)); } - protected function tearDown() + private function doTearDown() { $this->registry = null; } diff --git a/src/Symfony/Component/Yaml/Tests/Command/LintCommandTest.php b/src/Symfony/Component/Yaml/Tests/Command/LintCommandTest.php index b0e1e26af5..2087fb8946 100644 --- a/src/Symfony/Component/Yaml/Tests/Command/LintCommandTest.php +++ b/src/Symfony/Component/Yaml/Tests/Command/LintCommandTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Yaml\Tests\Command; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Console\Application; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Tester\CommandTester; @@ -24,6 +25,8 @@ use Symfony\Component\Yaml\Command\LintCommand; */ class LintCommandTest extends TestCase { + use ForwardCompatTestTrait; + private $files; public function testLintCorrectFile() @@ -127,13 +130,13 @@ YAML; return new CommandTester($command); } - protected function setUp() + private function doSetUp() { $this->files = []; @mkdir(sys_get_temp_dir().'/framework-yml-lint-test'); } - protected function tearDown() + private function doTearDown() { foreach ($this->files as $file) { if (file_exists($file)) { diff --git a/src/Symfony/Component/Yaml/Tests/DumperTest.php b/src/Symfony/Component/Yaml/Tests/DumperTest.php index 456d7e9b04..24d956b09b 100644 --- a/src/Symfony/Component/Yaml/Tests/DumperTest.php +++ b/src/Symfony/Component/Yaml/Tests/DumperTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Yaml\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Yaml\Dumper; use Symfony\Component\Yaml\Parser; use Symfony\Component\Yaml\Tag\TaggedValue; @@ -19,6 +20,8 @@ use Symfony\Component\Yaml\Yaml; class DumperTest extends TestCase { + use ForwardCompatTestTrait; + protected $parser; protected $dumper; protected $path; @@ -38,14 +41,14 @@ class DumperTest extends TestCase ], ]; - protected function setUp() + private function doSetUp() { $this->parser = new Parser(); $this->dumper = new Dumper(); $this->path = __DIR__.'/Fixtures'; } - protected function tearDown() + private function doTearDown() { $this->parser = null; $this->dumper = null; diff --git a/src/Symfony/Component/Yaml/Tests/InlineTest.php b/src/Symfony/Component/Yaml/Tests/InlineTest.php index 9da834369f..e294c0c31b 100644 --- a/src/Symfony/Component/Yaml/Tests/InlineTest.php +++ b/src/Symfony/Component/Yaml/Tests/InlineTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Yaml\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Yaml\Exception\ParseException; use Symfony\Component\Yaml\Inline; use Symfony\Component\Yaml\Tag\TaggedValue; @@ -19,7 +20,9 @@ use Symfony\Component\Yaml\Yaml; class InlineTest extends TestCase { - protected function setUp() + use ForwardCompatTestTrait; + + private function doSetUp() { Inline::initialize(0, 0); } diff --git a/src/Symfony/Component/Yaml/Tests/ParserTest.php b/src/Symfony/Component/Yaml/Tests/ParserTest.php index 1626b54cd3..d19f8e5c45 100644 --- a/src/Symfony/Component/Yaml/Tests/ParserTest.php +++ b/src/Symfony/Component/Yaml/Tests/ParserTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Yaml\Tests; use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\ForwardCompatTestTrait; use Symfony\Component\Yaml\Exception\ParseException; use Symfony\Component\Yaml\Parser; use Symfony\Component\Yaml\Tag\TaggedValue; @@ -19,6 +20,8 @@ use Symfony\Component\Yaml\Yaml; class ParserTest extends TestCase { + use ForwardCompatTestTrait; + /** @var Parser */ protected $parser;