sonarrradarrplexorganizrnginxdashboardlandingpagestartpagelandinghtpcserverhomepagesabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximux
		
		
		
		
			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.
		
		
		
		
		
			
		
			
				
					
					
						
							78 lines
						
					
					
						
							2.4 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							78 lines
						
					
					
						
							2.4 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\Console\Tester; | |
| 
 | |
| use Symfony\Component\Console\Command\Command; | |
| use Symfony\Component\Console\Input\ArrayInput; | |
| 
 | |
| /** | |
|  * Eases the testing of console commands. | |
|  * | |
|  * @author Fabien Potencier <fabien@symfony.com> | |
|  * @author Robin Chalas <robin.chalas@gmail.com> | |
|  */ | |
| class CommandTester | |
| { | |
|     use TesterTrait; | |
| 
 | |
|     private $command; | |
|     private $input; | |
|     private $statusCode; | |
| 
 | |
|     public function __construct(Command $command) | |
|     { | |
|         $this->command = $command; | |
|     } | |
| 
 | |
|     /** | |
|      * Executes the command. | |
|      * | |
|      * Available execution options: | |
|      * | |
|      *  * interactive:               Sets the input interactive flag | |
|      *  * decorated:                 Sets the output decorated flag | |
|      *  * verbosity:                 Sets the output verbosity flag | |
|      *  * capture_stderr_separately: Make output of stdOut and stdErr separately available | |
|      * | |
|      * @param array $input   An array of command arguments and options | |
|      * @param array $options An array of execution options | |
|      * | |
|      * @return int The command exit code | |
|      */ | |
|     public function execute(array $input, array $options = []) | |
|     { | |
|         // set the command name automatically if the application requires | |
|         // this argument and no command name was passed | |
|         if (!isset($input['command']) | |
|             && (null !== $application = $this->command->getApplication()) | |
|             && $application->getDefinition()->hasArgument('command') | |
|         ) { | |
|             $input = array_merge(['command' => $this->command->getName()], $input); | |
|         } | |
| 
 | |
|         $this->input = new ArrayInput($input); | |
|         // Use an in-memory input stream even if no inputs are set so that QuestionHelper::ask() does not rely on the blocking STDIN. | |
|         $this->input->setStream(self::createStream($this->inputs)); | |
| 
 | |
|         if (isset($options['interactive'])) { | |
|             $this->input->setInteractive($options['interactive']); | |
|         } | |
| 
 | |
|         if (!isset($options['decorated'])) { | |
|             $options['decorated'] = false; | |
|         } | |
| 
 | |
|         $this->initOutput($options); | |
| 
 | |
|         return $this->statusCode = $this->command->run($this->input, $this->output); | |
|     } | |
| }
 | |
| 
 |