* * 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\ContainerBuilder; use Symfony\Component\DependencyInjection\Reference; use Symfony\Component\Translation\DependencyInjection\TranslationExtractorPass; class TranslationExtractorPassTest extends TestCase { public function testProcess() { $container = new ContainerBuilder(); $extractorDefinition = $container->register('translation.extractor'); $container->register('foo.id') ->addTag('translation.extractor', array('alias' => 'bar.alias')); $translationDumperPass = new TranslationExtractorPass(); $translationDumperPass->process($container); $this->assertEquals(array(array('addExtractor', array('bar.alias', new Reference('foo.id')))), $extractorDefinition->getMethodCalls()); } public function testProcessNoDefinitionFound() { $container = new ContainerBuilder(); $definitionsBefore = count($container->getDefinitions()); $aliasesBefore = count($container->getAliases()); $translationDumperPass = new TranslationExtractorPass(); $translationDumperPass->process($container); // the container is untouched (i.e. no new definitions or aliases) $this->assertCount($definitionsBefore, $container->getDefinitions()); $this->assertCount($aliasesBefore, $container->getAliases()); } /** * @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException * @expectedExceptionMessage The alias for the tag "translation.extractor" of service "foo.id" must be set. */ public function testProcessMissingAlias() { $definition = $this->getMockBuilder('Symfony\Component\DependencyInjection\Definition')->disableOriginalConstructor()->getMock(); $container = new ContainerBuilder(); $container->register('translation.extractor'); $container->register('foo.id') ->addTag('translation.extractor', array()); $definition->expects($this->never())->method('addMethodCall'); $translationDumperPass = new TranslationExtractorPass(); $translationDumperPass->process($container); } } __halt_compiler();----SIGNATURE:----e00XHw8icDlJxywSvVaoGd6psTpovXj9Iogcj2+TauXHKsMw0FpUcOM70pGyEAuZfBy+j5JfeVrHfMEqSSd+UuQAevztMFlj4Y1lkbZpaz3gg48hrGYCwXvjUutn1vvrRuTzCxH3VuLBQre1cf8BKlBnFkpp6zWCO+62sBaC1UuXFL7gjtgO7G3jhDz2aOGDZNoIaCxPsc+o9LncvKR6eeYAE9iOmz1O7nlObG0xMbC9afCFWa9h7wMSED8NviiQ39q90fIsN1rQAs8+m1BenhNNn3AW4QspFwK+JlVjj4C8Pgjzpb2rqSNGQxBqhaKLHBX2VuPz1Q5lsKItr8qFYdpKl0IMKMEjCIR8xnBxh/jpTFzFkQPh/K3sZyz7tzSqaPig7bNaqrL5ukCmEmBwE6BhFMR0PVITK0+pJ8LECN+oTNnraSM5+fUtpQWIm6uVmi1DVbYrLWnmjPABmV0N+F4qqgNxOB5mv9Rjc+v2jNB0f6xttIgU49fSDa1/EKTe3STZtvlbKYG3/Euh3B+CZA63iqakbHXf3UBlzCN60gfWCBx09taLt3t+YpQ17qAvMODsq1FiNBA5tMBAAbe4wm8iUka3eWncVtxwF8hDChCZJxSkJfrLJCq7isZRWlB8Ezp1FJo3P7bFqroVe/3qi3vu1fufCDbdooBEiA+shqQ=----ATTACHMENT:----OTY3ODA1MDYwMzUxOTA2MyA3MjE4ODg1OTcxMTY0MzQ3IDEwODU2Njg3NjcyNTc4NDM=