Skip to content

Commit abee67b

Browse files
committed
Merge branch '4.4' into 5.2
* 4.4: [HttpClient][PHPDoc] Fix 2 remaining return mixed [Cache] [FrameworkBundle] Fix logging for TagAwareAdapter [Route] Better inline requirements and defaults parsing Simplified condition and removed unused code from AbstractSessionListener::onKernelRequest [PhpUnitBridge] Fix phpunit symlink on Windows [Yaml] Fixed infinite loop when parser goes through an additional and invalid closing tag
2 parents 1459484 + 5d85b75 commit abee67b

File tree

5 files changed

+31
-0
lines changed

5 files changed

+31
-0
lines changed

DependencyInjection/FrameworkExtension.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1971,6 +1971,12 @@ private function registerCacheConfiguration(array $config, ContainerBuilder $con
19711971
->setPublic($pool['public'])
19721972
;
19731973

1974+
if (method_exists(TagAwareAdapter::class, 'setLogger')) {
1975+
$container
1976+
->getDefinition($name)
1977+
->addMethodCall('setLogger', [new Reference('logger', ContainerInterface::IGNORE_ON_INVALID_REFERENCE)]);
1978+
}
1979+
19741980
$pool['name'] = $tagAwareId = $name;
19751981
$pool['public'] = false;
19761982
$name = '.'.$name.'.inner';

Tests/DependencyInjection/Fixtures/php/cache.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@
3535
'redis://foo' => 'cache.adapter.redis',
3636
],
3737
],
38+
'cache.ccc' => [
39+
'adapter' => 'cache.adapter.array',
40+
'default_lifetime' => 410,
41+
'tags' => true,
42+
],
3843
'cache.redis_tag_aware.foo' => [
3944
'adapter' => 'cache.adapter.redis_tag_aware',
4045
],

Tests/DependencyInjection/Fixtures/xml/cache.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
<framework:adapter name="cache.adapter.filesystem" />
1919
<framework:adapter name="cache.adapter.redis" provider="redis://foo" />
2020
</framework:pool>
21+
<framework:pool name="cache.ccc" adapter="cache.adapter.array" default-lifetime="410" tags="true" />
2122
<framework:pool name="cache.redis_tag_aware.foo" adapter="cache.adapter.redis_tag_aware" />
2223
<framework:pool name="cache.redis_tag_aware.foo2" tags="true" adapter="cache.adapter.redis_tag_aware" />
2324
<framework:pool name="cache.redis_tag_aware.bar" adapter="cache.redis_tag_aware.foo" />

Tests/DependencyInjection/Fixtures/yml/cache.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ framework:
2525
- cache.adapter.array
2626
- cache.adapter.filesystem
2727
- {name: cache.adapter.redis, provider: 'redis://foo'}
28+
cache.ccc:
29+
adapter: cache.adapter.array
30+
default_lifetime: 410
31+
tags: true
2832
cache.redis_tag_aware.foo:
2933
adapter: cache.adapter.redis_tag_aware
3034
cache.redis_tag_aware.foo2:

Tests/DependencyInjection/FrameworkExtensionTest.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
use Symfony\Component\Cache\Adapter\ProxyAdapter;
3030
use Symfony\Component\Cache\Adapter\RedisAdapter;
3131
use Symfony\Component\Cache\Adapter\RedisTagAwareAdapter;
32+
use Symfony\Component\Cache\Adapter\TagAwareAdapter;
3233
use Symfony\Component\Cache\DependencyInjection\CachePoolPass;
3334
use Symfony\Component\Config\Definition\Exception\InvalidConfigurationException;
3435
use Symfony\Component\DependencyInjection\ChildDefinition;
@@ -1388,6 +1389,17 @@ public function testCachePoolServices()
13881389
12,
13891390
];
13901391
$this->assertEquals($expected, $chain->getArguments());
1392+
1393+
// Test "tags: true" wrapping logic
1394+
$tagAwareDefinition = $container->getDefinition('cache.ccc');
1395+
$this->assertSame(TagAwareAdapter::class, $tagAwareDefinition->getClass());
1396+
$this->assertCachePoolServiceDefinitionIsCreated($container, (string) $tagAwareDefinition->getArgument(0), 'cache.adapter.array', 410);
1397+
1398+
if (method_exists(TagAwareAdapter::class, 'setLogger')) {
1399+
$this->assertEquals([
1400+
['setLogger', [new Reference('logger', ContainerInterface::IGNORE_ON_INVALID_REFERENCE)]],
1401+
], $tagAwareDefinition->getMethodCalls());
1402+
}
13911403
}
13921404

13931405
public function testRedisTagAwareAdapter()
@@ -1786,6 +1798,9 @@ private function assertCachePoolServiceDefinitionIsCreated(ContainerBuilder $con
17861798
case 'cache.adapter.redis':
17871799
$this->assertSame(RedisAdapter::class, $parentDefinition->getClass());
17881800
break;
1801+
case 'cache.adapter.array':
1802+
$this->assertSame(ArrayAdapter::class, $parentDefinition->getClass());
1803+
break;
17891804
default:
17901805
$this->fail('Unresolved adapter: '.$adapter);
17911806
}

0 commit comments

Comments
 (0)