Skip to content

Commit 8d9670e

Browse files
committed
Merge branch '5.2' into 5.x
* 5.2: [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 [Form] Fix 'invalid_message' use in multiple ChoiceType
2 parents 2511f0c + abee67b commit 8d9670e

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
@@ -2109,6 +2109,12 @@ private function registerCacheConfiguration(array $config, ContainerBuilder $con
21092109
->setPublic($pool['public'])
21102110
;
21112111

2112+
if (method_exists(TagAwareAdapter::class, 'setLogger')) {
2113+
$container
2114+
->getDefinition($name)
2115+
->addMethodCall('setLogger', [new Reference('logger', ContainerInterface::IGNORE_ON_INVALID_REFERENCE)]);
2116+
}
2117+
21122118
$pool['name'] = $tagAwareId = $name;
21132119
$pool['public'] = false;
21142120
$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
@@ -30,6 +30,7 @@
3030
use Symfony\Component\Cache\Adapter\ProxyAdapter;
3131
use Symfony\Component\Cache\Adapter\RedisAdapter;
3232
use Symfony\Component\Cache\Adapter\RedisTagAwareAdapter;
33+
use Symfony\Component\Cache\Adapter\TagAwareAdapter;
3334
use Symfony\Component\Cache\DependencyInjection\CachePoolPass;
3435
use Symfony\Component\Config\Definition\Exception\InvalidConfigurationException;
3536
use Symfony\Component\DependencyInjection\Argument\ServiceClosureArgument;
@@ -1537,6 +1538,17 @@ public function testCachePoolServices()
15371538
12,
15381539
];
15391540
$this->assertEquals($expected, $chain->getArguments());
1541+
1542+
// Test "tags: true" wrapping logic
1543+
$tagAwareDefinition = $container->getDefinition('cache.ccc');
1544+
$this->assertSame(TagAwareAdapter::class, $tagAwareDefinition->getClass());
1545+
$this->assertCachePoolServiceDefinitionIsCreated($container, (string) $tagAwareDefinition->getArgument(0), 'cache.adapter.array', 410);
1546+
1547+
if (method_exists(TagAwareAdapter::class, 'setLogger')) {
1548+
$this->assertEquals([
1549+
['setLogger', [new Reference('logger', ContainerInterface::IGNORE_ON_INVALID_REFERENCE)]],
1550+
], $tagAwareDefinition->getMethodCalls());
1551+
}
15401552
}
15411553

15421554
public function testRedisTagAwareAdapter()
@@ -1948,6 +1960,9 @@ private function assertCachePoolServiceDefinitionIsCreated(ContainerBuilder $con
19481960
case 'cache.adapter.redis':
19491961
$this->assertSame(RedisAdapter::class, $parentDefinition->getClass());
19501962
break;
1963+
case 'cache.adapter.array':
1964+
$this->assertSame(ArrayAdapter::class, $parentDefinition->getClass());
1965+
break;
19511966
default:
19521967
$this->fail('Unresolved adapter: '.$adapter);
19531968
}

0 commit comments

Comments
 (0)