Skip to content

Commit bfe4e16

Browse files
committed
minor symfony#32664 Ignore missing translation dependency in FrameworkBundle (alcaeus)
This PR was merged into the 3.4 branch. Discussion ---------- Ignore missing translation dependency in FrameworkBundle | Q | A | ------------- | --- | Branch? | 3.4 | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | | License | MIT | Doc PR | This applies the fix from symfony#31156 to the validator.xml file. The error came up a couple of times in the test suite for DoctrineBundle. When using `symfony/framework-bundle` with `symfony/validator` installed but without `symfony/translation`, the call to `setTranslator` will error out because of the missing `translator` service. Thus, the call to `setTranslator` needs to ignore a missing translator dependency to support this scenario. I don't know how to best test this since the translation component is present in the `require-dev` directive of FrameworkBundle's `composer.json`. If you have any suggestions how to achieve this, please let me know. Commits ------- 19eb90d Ignore missing translation dependency in FrameworkBundle
2 parents 376a8f4 + 19eb90d commit bfe4e16

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

src/Symfony/Bundle/FrameworkBundle/Resources/config/validator.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<argument type="service" id="validator.validator_factory" />
2424
</call>
2525
<call method="setTranslator">
26-
<argument type="service" id="translator" />
26+
<argument type="service" id="translator" on-invalid="ignore" />
2727
</call>
2828
<call method="setTranslationDomain">
2929
<argument>%validator.translation_domain%</argument>

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -674,7 +674,7 @@ public function testValidation()
674674
$this->assertSame('setConstraintValidatorFactory', $calls[0][0]);
675675
$this->assertEquals([new Reference('validator.validator_factory')], $calls[0][1]);
676676
$this->assertSame('setTranslator', $calls[1][0]);
677-
$this->assertEquals([new Reference('translator')], $calls[1][1]);
677+
$this->assertEquals([new Reference('translator', ContainerInterface::IGNORE_ON_INVALID_REFERENCE)], $calls[1][1]);
678678
$this->assertSame('setTranslationDomain', $calls[2][0]);
679679
$this->assertSame(['%validator.translation_domain%'], $calls[2][1]);
680680
$this->assertSame('addXmlMappings', $calls[3][0]);

0 commit comments

Comments
 (0)