radarrplexorganizrnginxsonarrdashboardhtpcserverhomepagesabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelanding
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							89 lines
						
					
					
						
							4.3 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							89 lines
						
					
					
						
							4.3 KiB
						
					
					
				| <?php | |
| 
 | |
| /* | |
|  * This file is part of the Symfony package. | |
|  * | |
|  * (c) Fabien Potencier <fabien@symfony.com> | |
|  * | |
|  * 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\DependencyInjection\ServiceLocator; | |
| use Symfony\Component\Translation\DependencyInjection\TranslatorPathsPass; | |
| use Symfony\Component\Translation\Tests\DependencyInjection\fixtures\ControllerArguments; | |
| use Symfony\Component\Translation\Tests\DependencyInjection\fixtures\ServiceArguments; | |
| use Symfony\Component\Translation\Tests\DependencyInjection\fixtures\ServiceMethodCalls; | |
| use Symfony\Component\Translation\Tests\DependencyInjection\fixtures\ServiceProperties; | |
| use Symfony\Component\Translation\Tests\DependencyInjection\fixtures\ServiceSubscriber; | |
| 
 | |
| class TranslationPathsPassTest extends TestCase | |
| { | |
|     public function testProcess() | |
|     { | |
|         $container = new ContainerBuilder(); | |
|         $container->register('translator'); | |
|         $debugCommand = $container->register('console.command.translation_debug') | |
|             ->setArguments([null, null, null, null, null, [], []]) | |
|         ; | |
|         $updateCommand = $container->register('console.command.translation_update') | |
|             ->setArguments([null, null, null, null, null, null, [], []]) | |
|         ; | |
|         $container->register(ControllerArguments::class, ControllerArguments::class) | |
|             ->setTags(['controller.service_arguments']) | |
|         ; | |
|         $container->register(ServiceArguments::class, ServiceArguments::class) | |
|             ->setArguments([new Reference('translator')]) | |
|         ; | |
|         $container->register(ServiceProperties::class, ServiceProperties::class) | |
|             ->setProperties([new Reference('translator')]) | |
|         ; | |
|         $container->register(ServiceMethodCalls::class, ServiceMethodCalls::class) | |
|             ->setMethodCalls([['setTranslator', [new Reference('translator')]]]) | |
|         ; | |
|         $container->register('service_rc') | |
|             ->setArguments([new Definition(), new Reference(ServiceMethodCalls::class)]) | |
|         ; | |
|         $serviceLocator1 = $container->register('.service_locator.foo', ServiceLocator::class) | |
|             ->setArguments([new ServiceClosureArgument(new Reference('translator'))]) | |
|         ; | |
|         $serviceLocator2 = (new Definition(ServiceLocator::class)) | |
|             ->setArguments([ServiceSubscriber::class, new Reference('service_container')]) | |
|             ->setFactory([$serviceLocator1, 'withContext']) | |
|         ; | |
|         $container->register('service_subscriber', ServiceSubscriber::class) | |
|             ->setArguments([$serviceLocator2]) | |
|         ; | |
|         $container->register('.service_locator.bar', ServiceLocator::class) | |
|             ->setArguments([[ | |
|                 ControllerArguments::class.'::index' => new ServiceClosureArgument(new Reference('.service_locator.foo')), | |
|                 ControllerArguments::class.'::__invoke' => new ServiceClosureArgument(new Reference('.service_locator.foo')), | |
|                 ControllerArguments::class => new ServiceClosureArgument(new Reference('.service_locator.foo')), | |
|             ]]) | |
|         ; | |
|         $container->register('argument_resolver.service') | |
|             ->setArguments([new Reference('.service_locator.bar')]) | |
|         ; | |
| 
 | |
|         $pass = new TranslatorPathsPass('translator', 'console.command.translation_debug', 'console.command.translation_update', 'argument_resolver.service'); | |
|         $pass->process($container); | |
| 
 | |
|         $expectedPaths = [ | |
|             $container->getReflectionClass(ServiceArguments::class)->getFileName(), | |
|             $container->getReflectionClass(ServiceProperties::class)->getFileName(), | |
|             $container->getReflectionClass(ServiceMethodCalls::class)->getFileName(), | |
|             $container->getReflectionClass(ControllerArguments::class)->getFileName(), | |
|             $container->getReflectionClass(ServiceSubscriber::class)->getFileName(), | |
|         ]; | |
| 
 | |
|         $this->assertSame($expectedPaths, $debugCommand->getArgument(6)); | |
|         $this->assertSame($expectedPaths, $updateCommand->getArgument(7)); | |
|     } | |
| }
 | |
| 
 |