class CommandTester in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/symfony/console/Tester/CommandTester.php \Symfony\Component\Console\Tester\CommandTester
Eases the testing of console commands.
@author Fabien Potencier <fabien@symfony.com>
Hierarchy
- class \Symfony\Component\Console\Tester\CommandTester
Expanded class hierarchy of CommandTester
9 files declare their use of CommandTester
- CommandTest.php in vendor/symfony/ console/ Tests/ Command/ CommandTest.php 
- CommandTesterTest.php in vendor/symfony/ console/ Tests/ Tester/ CommandTesterTest.php 
- DbCommandBaseTest.php in core/modules/ system/ tests/ src/ Kernel/ Scripts/ DbCommandBaseTest.php 
- Contains \Drupal\Tests\system\Kernel\Scripts\DbCommandBaseTest.
- DbDumpCommandTest.php in core/modules/ system/ tests/ src/ Kernel/ Scripts/ DbDumpCommandTest.php 
- Contains \Drupal\Tests\system\Kernel\Scripts\DbDumpCommandTest.
- DbDumpTest.php in core/modules/ system/ src/ Tests/ Update/ DbDumpTest.php 
- Contains \Drupal\system\Tests\Update\DbDumpTest.
File
- vendor/symfony/ console/ Tester/ CommandTester.php, line 25 
Namespace
Symfony\Component\Console\TesterView source
class CommandTester {
  private $command;
  private $input;
  private $output;
  private $statusCode;
  /**
   * Constructor.
   *
   * @param Command $command A Command instance to test.
   */
  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
   *
   * @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 = array()) {
    // 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(array(
        'command' => $this->command
          ->getName(),
      ), $input);
    }
    $this->input = new ArrayInput($input);
    if (isset($options['interactive'])) {
      $this->input
        ->setInteractive($options['interactive']);
    }
    $this->output = new StreamOutput(fopen('php://memory', 'w', false));
    if (isset($options['decorated'])) {
      $this->output
        ->setDecorated($options['decorated']);
    }
    if (isset($options['verbosity'])) {
      $this->output
        ->setVerbosity($options['verbosity']);
    }
    return $this->statusCode = $this->command
      ->run($this->input, $this->output);
  }
  /**
   * Gets the display returned by the last execution of the command.
   *
   * @param bool $normalize Whether to normalize end of lines to \n or not
   *
   * @return string The display
   */
  public function getDisplay($normalize = false) {
    rewind($this->output
      ->getStream());
    $display = stream_get_contents($this->output
      ->getStream());
    if ($normalize) {
      $display = str_replace(PHP_EOL, "\n", $display);
    }
    return $display;
  }
  /**
   * Gets the input instance used by the last execution of the command.
   *
   * @return InputInterface The current input instance
   */
  public function getInput() {
    return $this->input;
  }
  /**
   * Gets the output instance used by the last execution of the command.
   *
   * @return OutputInterface The current output instance
   */
  public function getOutput() {
    return $this->output;
  }
  /**
   * Gets the status code returned by the last execution of the application.
   *
   * @return int The status code
   */
  public function getStatusCode() {
    return $this->statusCode;
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| CommandTester:: | private | property | ||
| CommandTester:: | private | property | ||
| CommandTester:: | private | property | ||
| CommandTester:: | private | property | ||
| CommandTester:: | public | function | Executes the command. | |
| CommandTester:: | public | function | Gets the display returned by the last execution of the command. | |
| CommandTester:: | public | function | Gets the input instance used by the last execution of the command. | |
| CommandTester:: | public | function | Gets the output instance used by the last execution of the command. | |
| CommandTester:: | public | function | Gets the status code returned by the last execution of the application. | |
| CommandTester:: | public | function | Constructor. | 
