From 33849d551955b13ec6ae28acd8a5076a73259b5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Ostroluck=C3=BD?= Date: Sun, 19 Nov 2017 15:50:25 +0100 Subject: [PATCH] =?UTF-8?q?Full=20Symfony=204=20compatibility=20(according?= =?UTF-8?q?=20to=20tests)=20=F0=9F=8E=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .travis.yml | 1 - .../Compiler/EntityListenerPass.php | 1 + .../AbstractDoctrineExtensionTest.php | 21 ++++++++++--------- .../DoctrineExtensionTest.php | 9 ++++---- Tests/ProfilerTest.php | 2 +- Tests/TestCase.php | 3 ++- 6 files changed, 20 insertions(+), 17 deletions(-) diff --git a/.travis.yml b/.travis.yml index 60d29078d..8b1957eb1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,7 +21,6 @@ matrix: env: deps=dev allow_failures: - php: nightly - - env: deps=dev env: global: diff --git a/DependencyInjection/Compiler/EntityListenerPass.php b/DependencyInjection/Compiler/EntityListenerPass.php index f25538d52..ca3ac3f4f 100644 --- a/DependencyInjection/Compiler/EntityListenerPass.php +++ b/DependencyInjection/Compiler/EntityListenerPass.php @@ -47,6 +47,7 @@ public function process(ContainerBuilder $container) } $resolver = $container->findDefinition($resolverId); + $resolver->setPublic(true); if (isset($attributes['entity']) && isset($attributes['event'])) { $this->attachToListener($container, $name, $id, $attributes); diff --git a/Tests/DependencyInjection/AbstractDoctrineExtensionTest.php b/Tests/DependencyInjection/AbstractDoctrineExtensionTest.php index 47719f752..01e3559b0 100644 --- a/Tests/DependencyInjection/AbstractDoctrineExtensionTest.php +++ b/Tests/DependencyInjection/AbstractDoctrineExtensionTest.php @@ -20,6 +20,7 @@ use PHPUnit\Framework\TestCase; use Symfony\Bridge\Doctrine\DependencyInjection\CompilerPass\RegisterEventListenersAndSubscribersPass; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; +use Symfony\Component\DependencyInjection\Compiler\ResolveChildDefinitionsPass; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; @@ -348,13 +349,13 @@ public function testLoadMultipleConnections() $this->assertInstanceOf('Symfony\Component\DependencyInjection\Reference', $arguments[1]); $this->assertEquals('doctrine.orm.em2_configuration', (string) $arguments[1]); - $definition = $container->getDefinition($container->getAlias('doctrine.orm.em1_metadata_cache')); + $definition = $container->getDefinition((string) $container->getAlias('doctrine.orm.em1_metadata_cache')); $this->assertEquals('%doctrine_cache.xcache.class%', $definition->getClass()); - $definition = $container->getDefinition($container->getAlias('doctrine.orm.em1_query_cache')); + $definition = $container->getDefinition((string) $container->getAlias('doctrine.orm.em1_query_cache')); $this->assertEquals('%doctrine_cache.array.class%', $definition->getClass()); - $definition = $container->getDefinition($container->getAlias('doctrine.orm.em1_result_cache')); + $definition = $container->getDefinition((string) $container->getAlias('doctrine.orm.em1_result_cache')); $this->assertEquals('%doctrine_cache.array.class%', $definition->getClass()); } @@ -376,10 +377,10 @@ public function testEntityManagerMetadataCacheDriverConfiguration() { $container = $this->loadContainer('orm_service_multiple_entity_managers'); - $definition = $container->getDefinition($container->getAlias('doctrine.orm.em1_metadata_cache')); + $definition = $container->getDefinition((string) $container->getAlias('doctrine.orm.em1_metadata_cache')); $this->assertDICDefinitionClass($definition, '%doctrine_cache.xcache.class%'); - $definition = $container->getDefinition($container->getAlias('doctrine.orm.em2_metadata_cache')); + $definition = $container->getDefinition((string) $container->getAlias('doctrine.orm.em2_metadata_cache')); $this->assertDICDefinitionClass($definition, '%doctrine_cache.apc.class%'); } @@ -387,7 +388,7 @@ public function testEntityManagerMemcacheMetadataCacheDriverConfiguration() { $container = $this->loadContainer('orm_service_simple_single_entity_manager'); - $definition = $container->getDefinition($container->getAlias('doctrine.orm.default_metadata_cache')); + $definition = $container->getDefinition((string) $container->getAlias('doctrine.orm.default_metadata_cache')); $this->assertDICDefinitionClass($definition, '%doctrine_cache.memcache.class%'); $this->assertDICDefinitionMethodCallOnce($definition, 'setMemcache', array(new Reference('doctrine_cache.services.doctrine.orm.default_metadata_cache.connection')) @@ -404,7 +405,7 @@ public function testEntityManagerRedisMetadataCacheDriverConfigurationWithDataba { $container = $this->loadContainer('orm_service_simple_single_entity_manager_redis'); - $definition = $container->getDefinition($container->getAlias('doctrine.orm.default_metadata_cache')); + $definition = $container->getDefinition((string) $container->getAlias('doctrine.orm.default_metadata_cache')); $this->assertDICDefinitionClass($definition, '%doctrine_cache.redis.class%'); $this->assertDICDefinitionMethodCallOnce($definition, 'setRedis', array(new Reference('doctrine_cache.services.doctrine.orm.default_metadata_cache_redis.connection')) @@ -420,7 +421,7 @@ public function testDependencyInjectionImportsOverrideDefaults() { $container = $this->loadContainer('orm_imports'); - $cacheDefinition = $container->getDefinition($container->getAlias('doctrine.orm.default_metadata_cache')); + $cacheDefinition = $container->getDefinition((string) $container->getAlias('doctrine.orm.default_metadata_cache')); $this->assertEquals('%doctrine_cache.apc.class%', $cacheDefinition->getClass()); $configDefinition = $container->getDefinition('doctrine.orm.default_configuration'); @@ -604,7 +605,7 @@ public function testSecondLevelCache() $loggerChainDef = $container->getDefinition('doctrine.orm.default_second_level_cache.logger_chain'); $loggerStatisticsDef = $container->getDefinition('doctrine.orm.default_second_level_cache.logger_statistics'); $myQueryRegionDef = $container->getDefinition('doctrine.orm.default_second_level_cache.region.my_query_region_filelock'); - $cacheDriverDef = $container->getDefinition($container->getAlias('doctrine.orm.default_second_level_cache.region_cache_driver')); + $cacheDriverDef = $container->getDefinition((string) $container->getAlias('doctrine.orm.default_second_level_cache.region_cache_driver')); $configDef = $container->getDefinition('doctrine.orm.default_configuration'); $myEntityRegionArgs = $myEntityRegionDef->getArguments(); $myQueryRegionArgs = $myQueryRegionDef->getArguments(); @@ -1072,7 +1073,7 @@ private function assertDICDefinitionNoMethodCall(Definition $definition, $method private function compileContainer(ContainerBuilder $container) { - $container->getCompilerPassConfig()->setOptimizationPasses(array(new ResolveDefinitionTemplatesPass())); + $container->getCompilerPassConfig()->setOptimizationPasses(array(class_exists(ResolveChildDefinitionsPass::class) ? new ResolveChildDefinitionsPass() : new ResolveDefinitionTemplatesPass())); $container->getCompilerPassConfig()->setRemovingPasses(array()); $container->compile(); } diff --git a/Tests/DependencyInjection/DoctrineExtensionTest.php b/Tests/DependencyInjection/DoctrineExtensionTest.php index 95b9ba405..c7fed524d 100644 --- a/Tests/DependencyInjection/DoctrineExtensionTest.php +++ b/Tests/DependencyInjection/DoctrineExtensionTest.php @@ -24,6 +24,7 @@ use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\Version; use PHPUnit\Framework\TestCase; +use Symfony\Component\DependencyInjection\Compiler\ResolveChildDefinitionsPass; use Symfony\Component\DependencyInjection\Compiler\ResolveDefinitionTemplatesPass; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Definition; @@ -356,13 +357,13 @@ public function testDependencyInjectionConfigurationDefaults() $this->assertEquals('doctrine.orm.default_entity_listener_resolver', (string) $calls[12][1][0]); } - $definition = $container->getDefinition($container->getAlias('doctrine.orm.default_metadata_cache')); + $definition = $container->getDefinition((string) $container->getAlias('doctrine.orm.default_metadata_cache')); $this->assertEquals('%doctrine_cache.array.class%', $definition->getClass()); - $definition = $container->getDefinition($container->getAlias('doctrine.orm.default_query_cache')); + $definition = $container->getDefinition((string) $container->getAlias('doctrine.orm.default_query_cache')); $this->assertEquals('%doctrine_cache.array.class%', $definition->getClass()); - $definition = $container->getDefinition($container->getAlias('doctrine.orm.default_result_cache')); + $definition = $container->getDefinition((string) $container->getAlias('doctrine.orm.default_result_cache')); $this->assertEquals('%doctrine_cache.array.class%', $definition->getClass()); } @@ -817,7 +818,7 @@ private function assertDICDefinitionMethodCallOnce(Definition $definition, $meth private function compileContainer(ContainerBuilder $container) { - $container->getCompilerPassConfig()->setOptimizationPasses(array(new ResolveDefinitionTemplatesPass())); + $container->getCompilerPassConfig()->setOptimizationPasses(array(class_exists(ResolveChildDefinitionsPass::class) ? new ResolveChildDefinitionsPass() : new ResolveDefinitionTemplatesPass())); $container->getCompilerPassConfig()->setRemovingPasses(array()); $container->compile(); } diff --git a/Tests/ProfilerTest.php b/Tests/ProfilerTest.php index 5117165a5..24e64f69c 100644 --- a/Tests/ProfilerTest.php +++ b/Tests/ProfilerTest.php @@ -54,7 +54,7 @@ public function setUp() $this->twig->addRuntimeLoader($loader); } - public function testStuff() + public function testRender() { $this->logger->queries = [ [ diff --git a/Tests/TestCase.php b/Tests/TestCase.php index 9c707040c..292b8a813 100644 --- a/Tests/TestCase.php +++ b/Tests/TestCase.php @@ -18,6 +18,7 @@ use Doctrine\Common\Annotations\AnnotationReader; use Doctrine\Bundle\DoctrineBundle\DependencyInjection\DoctrineExtension; use PHPUnit\Framework\TestCase as BaseTestCase; +use Symfony\Component\DependencyInjection\Compiler\ResolveChildDefinitionsPass; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; @@ -77,7 +78,7 @@ public function createYamlBundleTestContainer() $container->setDefinition('my.platform', new Definition('Doctrine\DBAL\Platforms\MySqlPlatform')); - $container->getCompilerPassConfig()->setOptimizationPasses(array(new ResolveDefinitionTemplatesPass())); + $container->getCompilerPassConfig()->setOptimizationPasses(array(class_exists(ResolveChildDefinitionsPass::class) ? new ResolveChildDefinitionsPass() : new ResolveDefinitionTemplatesPass())); $container->getCompilerPassConfig()->setRemovingPasses(array()); $container->compile();