ApplicationTesterTest.php in Zircon Profile 8
File
vendor/symfony/console/Tests/Tester/ApplicationTesterTest.php
View source
<?php
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');
}
}