* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Translation\Tests\DependencyInjection; use PHPUnit\Framework\TestCase; use Symfony\Component\DependencyInjection\Argument\ServiceClosureArgument; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\Reference; use Symfony\Component\Translation\DependencyInjection\TranslatorPass; class TranslationPassTest extends TestCase { public function testValidCollector() { $loader = (new Definition()) ->addTag('translation.loader', array('alias' => 'xliff', 'legacy-alias' => 'xlf')); $reader = new Definition(); $translator = (new Definition()) ->setArguments(array(null, null, null, null)); $container = new ContainerBuilder(); $container->setDefinition('translator.default', $translator); $container->setDefinition('translation.reader', $reader); $container->setDefinition('translation.xliff_loader', $loader); $pass = new TranslatorPass('translator.default', 'translation.reader'); $pass->process($container); $expectedReader = (new Definition()) ->addMethodCall('addLoader', array('xliff', new Reference('translation.xliff_loader'))) ->addMethodCall('addLoader', array('xlf', new Reference('translation.xliff_loader'))) ; $this->assertEquals($expectedReader, $reader); $expectedLoader = (new Definition()) ->addTag('translation.loader', array('alias' => 'xliff', 'legacy-alias' => 'xlf')) ; $this->assertEquals($expectedLoader, $loader); $this->assertSame(array('translation.xliff_loader' => array('xliff', 'xlf')), $translator->getArgument(3)); $expected = array('translation.xliff_loader' => new ServiceClosureArgument(new Reference('translation.xliff_loader'))); $this->assertEquals($expected, $container->getDefinition((string) $translator->getArgument(0))->getArgument(0)); } /** * @group legacy * @expectedDeprecation The default value for $readerServiceId will change in 4.0 to "translation.reader". * * A test that verifies the deprecated "translation.loader" gets the LoaderInterfaces added. * * This test should be removed in 4.0. */ public function testValidCollectorWithDeprecatedTranslationLoader() { $loader = (new Definition()) ->addTag('translation.loader', array('alias' => 'xliff', 'legacy-alias' => 'xlf')); $legacyReader = new Definition(); $reader = new Definition(); $translator = (new Definition()) ->setArguments(array(null, null, null, null)); $container = new ContainerBuilder(); $container->setDefinition('translator.default', $translator); $container->setDefinition('translation.loader', $legacyReader); $container->setDefinition('translation.reader', $reader); $container->setDefinition('translation.xliff_loader', $loader); $pass = new TranslatorPass(); $pass->process($container); $expectedReader = (new Definition()) ->addMethodCall('addLoader', array('xliff', new Reference('translation.xliff_loader'))) ->addMethodCall('addLoader', array('xlf', new Reference('translation.xliff_loader'))) ; $this->assertEquals($expectedReader, $legacyReader); $this->assertEquals($expectedReader, $reader); $expectedLoader = (new Definition()) ->addTag('translation.loader', array('alias' => 'xliff', 'legacy-alias' => 'xlf')) ; $this->assertEquals($expectedLoader, $loader); $this->assertSame(array('translation.xliff_loader' => array('xliff', 'xlf')), $translator->getArgument(3)); $expected = array('translation.xliff_loader' => new ServiceClosureArgument(new Reference('translation.xliff_loader'))); $this->assertEquals($expected, $container->getDefinition((string) $translator->getArgument(0))->getArgument(0)); } } __halt_compiler();----SIGNATURE:----Yue6XmXlvVzcWk9cfDAu6gMCgETuxkWZD+UTZ3HrRntA4KZzIL4NYKsiwrxYjf6C1bFLdsRTrurM1FclM4hT8L5v9B2JWhBUYzGa2w+C7lSK3poVeF/ez81GcGeoyWD42rbNHRZtPRpRA3NxN2qKPAA/Pu0XjjNrhT3/flcAnEF89pwlhmFV0PMVcHrDI6LHVrY+3ljhRamyJ6zjjBMvi+mOQu0sQROUwlLoG//rPmcg1OM04fcyM9/khQ1RTzuj4a3IjekAycg8BtoAE7ktKuAJDfYzkioVspgzNyUvxMzbKzbh6Ga0nJ6ZFzAZgwLTK6mbw8DWn7vlL3jmkVkyI43IlmBdywgx4rgNzZFtRWXEWVFpvYR+c6XanKUdi66cOUaiH7Hn/obt23TnPztdtStb7GVDWhIViXis7DXJsSx3eBtBsFV7dYRcJwAnTFZ371nd4TsRZSBJ1qZ/Ac6A0aOPTVygsSpvDbq/zoyxZqbeVXpaJf5gfbNkBU8/Tu3ZkI4zu/a3cVxG8DxUucmBM4EJKbA3IFD8cyYwTMD9KIfG+lTP+8u7butdUQbXMsPQwQR+MPCZ+YEsL60xk2KkLprfsc2CCk5TPHK0PNGdqYs+6/1Y7krajeGQGhkL25/OlLRBiAserHVzJloZPNN1Evwi/iypDAdNBf0/xJAI3Cg=----ATTACHMENT:----NjY5OTM4MDA5NDg2MDM1OSA2NDc0ODM5MDUzMjc1NDUgNzA2NjY1NzE0NTI3MzE5Nw==