You are here

ApplicationTesterTest.php in Zircon Profile 8.0

Same filename and directory in other branches
  1. 8 vendor/symfony/console/Tests/Tester/ApplicationTesterTest.php

File

vendor/symfony/console/Tests/Tester/ApplicationTesterTest.php
View source
<?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\Tests\Tester;

use Symfony\Component\Console\Application;
use Symfony\Component\Console\Output\Output;
use Symfony\Component\Console\Tester\ApplicationTester;
class ApplicationTesterTest extends \PHPUnit_Framework_TestCase {
  protected $application;
  protected $tester;
  protected function setUp() {
    $this->application = new Application();
    $this->application
      ->setAutoExit(false);
    $this->application
      ->register('foo')
      ->addArgument('foo')
      ->setCode(function ($input, $output) {
      $output
        ->writeln('foo');
    });
    $this->tester = new ApplicationTester($this->application);
    $this->tester
      ->run(array(
      'command' => 'foo',
      'foo' => 'bar',
    ), array(
      'interactive' => false,
      'decorated' => false,
      'verbosity' => Output::VERBOSITY_VERBOSE,
    ));
  }
  protected function tearDown() {
    $this->application = null;
    $this->tester = null;
  }
  public function testRun() {
    $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');
  }

}

Classes