1<?php 2 3namespace JMS\SerializerBundle\Tests\DependencyInjection; 4 5use JMS\SerializerBundle\DependencyInjection\Compiler\FormErrorHandlerTranslationDomainPass; 6use JMS\SerializerBundle\DependencyInjection\JMSSerializerExtension; 7use Symfony\Component\DependencyInjection\ContainerBuilder; 8use PHPUnit\Framework\TestCase; 9 10class FormErrorHandlerTranslationDomainPassTest extends TestCase 11{ 12 /** 13 * @param array $configs 14 * 15 * @return ContainerBuilder 16 */ 17 private function getContainer(array $configs = array()) 18 { 19 $loader = new JMSSerializerExtension(); 20 $container = new ContainerBuilder(); 21 22 $container->setParameter('kernel.debug', true); 23 $container->setParameter('kernel.cache_dir', sys_get_temp_dir() . '/serializer'); 24 $container->setParameter('kernel.bundles', array()); 25 26 $loader->load(['jms_serializer' => $configs], $container); 27 28 return $container; 29 } 30 31 public function testExistentParameter() 32 { 33 $container = $this->getContainer(); 34 $container->setParameter('validator.translation_domain', 'custom_domain'); 35 36 $pass = new FormErrorHandlerTranslationDomainPass(); 37 $pass->process($container); 38 39 $args = $container->findDefinition('jms_serializer.form_error_handler')->getArguments(); 40 41 $this->assertArrayHasKey(1, $args); 42 $this->assertContains('%validator.translation_domain%', $args[1]); 43 } 44 45 public function testNonExistentParameter() 46 { 47 $container = $this->getContainer(); 48 49 $pass = new FormErrorHandlerTranslationDomainPass(); 50 $pass->process($container); 51 52 $args = $container->findDefinition('jms_serializer.form_error_handler')->getArguments(); 53 54 $this->assertArrayNotHasKey(1, $args); 55 } 56} 57