$application = new Application(); $application->setAutoExit(false); $application->setCatchExceptions(false); $tester = new ApplicationTester($application); $tester->run(array('--color' => true)); $t->ok($tester->getOutput()->isDecorated(), '->run() forces color output if --color is passed'); $application = new Application(); $application->setAutoExit(false); $application->setCatchExceptions(false); $tester = new ApplicationTester($application); $tester->run(array('--version' => true)); $t->is($tester->getDisplay(), file_get_contents($fixtures . '/application_run4.txt'), '->run() displays the program version if --version is passed'); $application = new Application(); $application->setAutoExit(false); $application->setCatchExceptions(false); $tester = new ApplicationTester($application); $tester->run(array('command' => 'list', '--quiet' => true)); $t->is($tester->getDisplay(), '', '->run() removes all output if --quiet is passed'); $application = new Application(); $application->setAutoExit(false); $application->setCatchExceptions(false); $tester = new ApplicationTester($application); $tester->run(array('command' => 'list', '--verbose' => true)); $t->is($tester->getOutput()->getVerbosity(), Output::VERBOSITY_VERBOSE, '->run() sets the output to verbose is --verbose is passed'); $application = new Application(); $application->setAutoExit(false); $application->setCatchExceptions(false); $application->addCommand(new FooCommand()); $tester = new ApplicationTester($application); $tester->run(array('command' => 'foo:bar', '--no-interaction' => true)); $t->is($tester->getDisplay(), "called\n", '->run() does not called interact() if --no-interaction is passed');
* (c) Fabien Potencier <*****@*****.**> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ require_once __DIR__ . '/../../../../bootstrap.php'; use Symfony\Components\CLI\Application; use Symfony\Components\CLI\Output\Output; use Symfony\Components\CLI\Tester\ApplicationTester; $t = new LimeTest(6); $application = new Application(); $application->setAutoExit(false); $application->register('foo')->addArgument('command')->addArgument('foo')->setCode(function ($input, $output) { $output->write('foo'); }); $tester = new ApplicationTester($application); $tester->run(array('command' => 'foo', 'foo' => 'bar'), array('interactive' => false, 'decorated' => false, 'verbosity' => Output::VERBOSITY_VERBOSE)); // ->run() $t->diag('->run()'); $t->is($tester->getInput()->isInteractive(), false, '->execute() takes an interactive option'); $t->is($tester->getOutput()->isDecorated(), false, '->execute() takes a decorated option'); $t->is($tester->getOutput()->getVerbosity(), Output::VERBOSITY_VERBOSE, '->execute() takes a verbosity option'); // ->getInput() $t->diag('->getInput()'); $t->is($tester->getInput()->getArgument('foo'), 'bar', '->getInput() returns the current input instance'); // ->getOutput() $t->diag('->getOutput()'); rewind($tester->getOutput()->getStream()); $t->is(stream_get_contents($tester->getOutput()->getStream()), "foo\n", '->getOutput() returns the current output instance'); // ->getDisplay() $t->diag('->getDisplay()');