Skip to content

Commit

Permalink
Full Symfony 4 compatibility (according to tests) 🎉
Browse files Browse the repository at this point in the history
  • Loading branch information
ostrolucky committed Nov 19, 2017
1 parent dcfd560 commit 33849d5
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 17 deletions.
1 change: 0 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ matrix:
env: deps=dev
allow_failures:
- php: nightly
- env: deps=dev

env:
global:
Expand Down
1 change: 1 addition & 0 deletions DependencyInjection/Compiler/EntityListenerPass.php
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
21 changes: 11 additions & 10 deletions Tests/DependencyInjection/AbstractDoctrineExtensionTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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());
}

Expand All @@ -376,18 +377,18 @@ 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%');
}

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'))
Expand All @@ -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'))
Expand All @@ -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');
Expand Down Expand Up @@ -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();
Expand Down Expand Up @@ -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();
}
Expand Down
9 changes: 5 additions & 4 deletions Tests/DependencyInjection/DoctrineExtensionTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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());
}

Expand Down Expand Up @@ -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();
}
Expand Down
2 changes: 1 addition & 1 deletion Tests/ProfilerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public function setUp()
$this->twig->addRuntimeLoader($loader);
}

public function testStuff()
public function testRender()
{
$this->logger->queries = [
[
Expand Down
3 changes: 2 additions & 1 deletion Tests/TestCase.php
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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();

Expand Down

0 comments on commit 33849d5

Please sign in to comment.