You are here

class CommandTesterTest in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/symfony/console/Tests/Tester/CommandTesterTest.php \Symfony\Component\Console\Tests\Tester\CommandTesterTest

Hierarchy

  • class \Symfony\Component\Console\Tests\Tester\CommandTesterTest extends \Symfony\Component\Console\Tests\Tester\PHPUnit_Framework_TestCase

Expanded class hierarchy of CommandTesterTest

File

vendor/symfony/console/Tests/Tester/CommandTesterTest.php, line 19

Namespace

Symfony\Component\Console\Tests\Tester
View source
class CommandTesterTest extends \PHPUnit_Framework_TestCase {
  protected $command;
  protected $tester;
  protected function setUp() {
    $this->command = new Command('foo');
    $this->command
      ->addArgument('command');
    $this->command
      ->addArgument('foo');
    $this->command
      ->setCode(function ($input, $output) {
      $output
        ->writeln('foo');
    });
    $this->tester = new CommandTester($this->command);
    $this->tester
      ->execute(array(
      'foo' => 'bar',
    ), array(
      'interactive' => false,
      'decorated' => false,
      'verbosity' => Output::VERBOSITY_VERBOSE,
    ));
  }
  protected function tearDown() {
    $this->command = null;
    $this->tester = null;
  }
  public function testExecute() {
    $this
      ->assertFalse($this->tester
      ->getInput()
      ->isInteractive(), '->execute() takes an interactive option');
    $this
      ->assertFalse($this->tester
      ->getOutput()
      ->isDecorated(), '->execute() takes a decorated option');
    $this
      ->assertEquals(Output::VERBOSITY_VERBOSE, $this->tester
      ->getOutput()
      ->getVerbosity(), '->execute() takes a verbosity option');
  }
  public function testGetInput() {
    $this
      ->assertEquals('bar', $this->tester
      ->getInput()
      ->getArgument('foo'), '->getInput() returns the current input instance');
  }
  public function testGetOutput() {
    rewind($this->tester
      ->getOutput()
      ->getStream());
    $this
      ->assertEquals('foo' . PHP_EOL, stream_get_contents($this->tester
      ->getOutput()
      ->getStream()), '->getOutput() returns the current output instance');
  }
  public function testGetDisplay() {
    $this
      ->assertEquals('foo' . PHP_EOL, $this->tester
      ->getDisplay(), '->getDisplay() returns the display of the last execution');
  }
  public function testGetStatusCode() {
    $this
      ->assertSame(0, $this->tester
      ->getStatusCode(), '->getStatusCode() returns the status code');
  }
  public function testCommandFromApplication() {
    $application = new Application();
    $application
      ->setAutoExit(false);
    $command = new Command('foo');
    $command
      ->setCode(function ($input, $output) {
      $output
        ->writeln('foo');
    });
    $application
      ->add($command);
    $tester = new CommandTester($application
      ->find('foo'));

    // check that there is no need to pass the command name here
    $this
      ->assertEquals(0, $tester
      ->execute(array()));
  }

}

Members