* * 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:----TVxMQiWKaDMuLyYy170LYXiasLeqhrcC+pfl+D8GE/gu8yNyuXi2b8Anm/T8VhuwhPm43OtK3z9FWe9s1ffcYtz0Q9/zZ2phYwZniPlqHFC4MiS5qmOskyuN85K0XgDbU98wcD1d0YiZ8bpGQBTMeC94MuRHJph8PR43scjSLPW/mTo0Vo6ELADHq37nI5y5eRxwSDK8LxaFQGsmIA1GLndDJGQejXNHK4ciHAEeEvFOjiBMw8vgtO8NvD+zArt6vZwiSMmx1NTcLUmMmSaYXbdzgcLJghip0BZtphaRNScoQ4yF4OGgSi8pxWWLa/p4zJA5pV4Pz6pnEpHduwaxH8vanI795HW8J1lewyQvqjiCGaZZb9BP9iRLeZQVUybwhaRgaMXDdj/b6Ly6lLRIW6HaOaJ8AvgWn9+/cBScM+OLNO30RsW7EST0lPmtlOmaV14CiAuqeGgwp22fWde4mrhielzcqtKiFfjVj+fvJjXPd7cgaU2UHXi7GkpxnfxsP2A9kdDxR8DSoL8BbGyKwGQdZQHVDQibZc9tHyZHhfvypLWU0SF0Uwvi9jUQ66pMGT6ItXZyrar3b+ZGIGVUlltU0Sa7fMHVIl+3FRyhfiZ5PNafB7wUXiSL17TjpHzeTX6PcpESerR8DTqimOb0qt7BxXP8c8NEo4Ew8xxgVGE=----ATTACHMENT:----MTA3Mzk3ODMxOTc2NzQ3MCAzMTI1Njk0MjYyMzUxNzI1IDc2NjE4NDU0ODQ0MDc2MDA=