Skip to content

Commit

Permalink
Merge pull request #876 from dunglas/fix-tests
Browse files Browse the repository at this point in the history
Fix Symfony 4.2 deprecations, and Travis build
  • Loading branch information
kimhemsoe committed Nov 16, 2018
2 parents 7d313f4 + cc59787 commit b98183a
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 14 deletions.
4 changes: 2 additions & 2 deletions .travis.yml
Expand Up @@ -24,7 +24,7 @@ before_install:
- if [ "$SYMFONY_VERSION" != "" ]; then jq "(.require, .\"require-dev\")|=(with_entries(if .key|test(\"^symfony/\") then .value|=\"${SYMFONY_VERSION}\" else . end))" composer.json|ex -sc 'wq!composer.json' /dev/stdin; fi;

install:
- travis_retry composer update -n --prefer-dist
- COMPOSER_MEMORY_LIMIT=-1 travis_retry composer update -n --prefer-dist

script:
- ./vendor/bin/phpunit -v
Expand All @@ -34,7 +34,7 @@ jobs:
- php: 5.5
env: deps=low SYMFONY_DEPRECATIONS_HELPER=weak
install:
- travis_retry composer update -n --prefer-lowest --prefer-stable --prefer-dist
- COMPOSER_MEMORY_LIMIT=-1 travis_retry composer update -n --prefer-lowest --prefer-stable --prefer-dist

- php: 5.6
env: SYMFONY_VERSION="2.8.*"
Expand Down
51 changes: 41 additions & 10 deletions DependencyInjection/Configuration.php
Expand Up @@ -111,8 +111,14 @@ private function addDbalSection(ArrayNodeDefinition $node)
*/
private function getDbalConnectionsNode()
{
$treeBuilder = new TreeBuilder();
$node = $treeBuilder->root('connections');
$treeBuilder = new TreeBuilder('connections');

if (method_exists($treeBuilder, 'getRootNode')) {
$node = $treeBuilder->getRootNode();
} else {
// BC layer for symfony/config 4.1 and older
$node = $treeBuilder->root('connections');
}

/** @var ArrayNodeDefinition $connectionNode */
$connectionNode = $node
Expand Down Expand Up @@ -362,8 +368,14 @@ private function addOrmSection(ArrayNodeDefinition $node)
*/
private function getOrmTargetEntityResolverNode()
{
$treeBuilder = new TreeBuilder();
$node = $treeBuilder->root('resolve_target_entities');
$treeBuilder = new TreeBuilder('resolve_target_entities');

if (method_exists($treeBuilder, 'getRootNode')) {
$node = $treeBuilder->getRootNode();
} else {
// BC layer for symfony/config 4.1 and older
$node = $treeBuilder->root('resolve_target_entities');
}

$node
->useAttributeAsKey('interface')
Expand All @@ -381,8 +393,15 @@ private function getOrmTargetEntityResolverNode()
*/
private function getOrmEntityListenersNode()
{
$builder = new TreeBuilder();
$node = $builder->root('entity_listeners');
$treeBuilder = new TreeBuilder('entity_listeners');

if (method_exists($treeBuilder, 'getRootNode')) {
$node = $treeBuilder->getRootNode();
} else {
// BC layer for symfony/config 4.1 and older
$node = $treeBuilder->root('entity_listeners');
}

$normalizer = static function ($mappings) {
$entities = [];

Expand Down Expand Up @@ -466,8 +485,14 @@ private function getOrmEntityListenersNode()
*/
private function getOrmEntityManagersNode()
{
$treeBuilder = new TreeBuilder();
$node = $treeBuilder->root('entity_managers');
$treeBuilder = new TreeBuilder('entity_managers');

if (method_exists($treeBuilder, 'getRootNode')) {
$node = $treeBuilder->getRootNode();
} else {
// BC layer for symfony/config 4.1 and older
$node = $treeBuilder->root('entity_managers');
}

$node
->requiresAtLeastOneElement()
Expand Down Expand Up @@ -630,8 +655,14 @@ private function getOrmEntityManagersNode()
*/
private function getOrmCacheDriverNode($name)
{
$treeBuilder = new TreeBuilder();
$node = $treeBuilder->root($name);
$treeBuilder = new TreeBuilder($name);

if (method_exists($treeBuilder, 'getRootNode')) {
$node = $treeBuilder->getRootNode();
} else {
// BC layer for symfony/config 4.1 and older
$node = $treeBuilder->root($name);
}

$node
->addDefaultsIfNotSet()
Expand Down
2 changes: 1 addition & 1 deletion DependencyInjection/DoctrineExtension.php
Expand Up @@ -798,7 +798,7 @@ protected function loadOrmCacheDrivers(array $entityManager, ContainerBuilder $c
private function loadPropertyInfoExtractor($entityManagerName, ContainerBuilder $container)
{
$propertyExtractorDefinition = $container->register(sprintf('doctrine.orm.%s_entity_manager.property_info_extractor', $entityManagerName), DoctrineExtractor::class);
if (class_exists(PropertyInitializableExtractorInterface::class)) {
if (interface_exists(PropertyInitializableExtractorInterface::class)) {
$argumentId = sprintf('doctrine.orm.%s_entity_manager', $entityManagerName);
} else {
$argumentId = sprintf('doctrine.orm.%s_entity_manager.metadata_factory', $entityManagerName);
Expand Down
5 changes: 4 additions & 1 deletion Tests/ContainerTest.php
Expand Up @@ -3,6 +3,7 @@
namespace Doctrine\Bundle\DoctrineBundle\Tests;

use Doctrine\DBAL\Types\Type;
use Symfony\Component\PropertyInfo\PropertyInitializableExtractorInterface;

class ContainerTest extends TestCase
{
Expand Down Expand Up @@ -48,7 +49,9 @@ public function testContainer()
$this->assertFalse($container->has('doctrine.dbal.default_connection.events.mysqlsessioninit'));

if (interface_exists('Symfony\Component\PropertyInfo\PropertyInfoExtractorInterface') && class_exists('Symfony\Bridge\Doctrine\PropertyInfo\DoctrineExtractor')) {
$this->assertInstanceOf('Doctrine\Common\Persistence\Mapping\ClassMetadataFactory', $container->get('doctrine.orm.default_entity_manager.metadata_factory'));
if (!interface_exists(PropertyInitializableExtractorInterface::class)) {
$this->assertInstanceOf('Doctrine\Common\Persistence\Mapping\ClassMetadataFactory', $container->get('doctrine.orm.default_entity_manager.metadata_factory'));
}
$this->assertInstanceOf('Symfony\Bridge\Doctrine\PropertyInfo\DoctrineExtractor', $container->get('doctrine.orm.default_entity_manager.property_info_extractor'));
} else {
$this->assertFalse($container->has('doctrine.orm.default_entity_manager.metadata_factory'));
Expand Down
3 changes: 3 additions & 0 deletions Tests/ProfilerTest.php
Expand Up @@ -73,6 +73,9 @@ public function testRender()
// This is only needed for WebProfilerBundle=3.2, remove when support for it is dropped
$requestCollector = new RequestDataCollector();
$requestCollector->collect($request, $response);
if (method_exists($requestCollector, 'lateCollect')) {
$requestCollector->lateCollect();
}
$profile->addCollector($requestCollector);

$output = $this->twig->render('db.html.twig', [
Expand Down

0 comments on commit b98183a

Please sign in to comment.