<?php /* * This file is part of the symfony package. * (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\Tester\CommandTester; use Symfony\Components\CLI\Application; $t = new LimeTest(2); $application = new Application(); // ->execute() $t->diag('->execute()'); $commandTester = new CommandTester($application->getCommand('list')); $commandTester->execute(array()); $t->like($commandTester->getDisplay(), '/help Displays help for a command/', '->execute() returns a list of available commands'); $commandTester->execute(array('--xml' => true)); $t->like($commandTester->getDisplay(), '/<command id="list" namespace="_global" name="list">/', '->execute() returns a list of available commands in XML if --xml is passed');
<?php /* * This file is part of the symfony package. * (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\Tester\CommandTester; use Symfony\Components\CLI\Command\HelpCommand; use Symfony\Components\CLI\Command\ListCommand; use Symfony\Components\CLI\Application; $t = new LimeTest(4); // ->execute() $t->diag('->execute()'); $command = new HelpCommand(); $command->setCommand(new ListCommand()); $commandTester = new CommandTester($command); $commandTester->execute(array()); $t->like($commandTester->getDisplay(), '/list \\[--xml\\] \\[namespace\\]/', '->execute() returns a text help for the given command'); $commandTester->execute(array('--xml' => true)); $t->like($commandTester->getDisplay(), '/<command/', '->execute() returns an XML help text if --xml is passed'); $application = new Application(); $commandTester = new CommandTester($application->getCommand('help')); $commandTester->execute(array('command_name' => 'list')); $t->like($commandTester->getDisplay(), '/list \\[--xml\\] \\[namespace\\]/', '->execute() returns a text help for the given command'); $commandTester->execute(array('command_name' => 'list', '--xml' => true)); $t->like($commandTester->getDisplay(), '/<command/', '->execute() returns an XML help text if --xml is passed');
$application = new Application(); $application->addCommand($foo = new FooCommand()); $commands = $application->getCommands(); $t->is($commands['foo:bar'], $foo, '->addCommand() registers a command'); $application = new Application(); $application->addCommands(array($foo = new FooCommand(), $foo1 = new Foo1Command())); $commands = $application->getCommands(); $t->is(array($commands['foo:bar'], $commands['foo:bar1']), array($foo, $foo1), '->addCommands() registers an array of commands'); // ->hasCommand() ->getCommand() $t->diag('->hasCommand() ->getCommand()'); $application = new Application(); $t->ok($application->hasCommand('list'), '->hasCommand() returns true if a named command is registered'); $t->ok(!$application->hasCommand('afoobar'), '->hasCommand() returns false if a named command is not registered'); $application->addCommand($foo = new FooCommand()); $t->ok($application->hasCommand('afoobar'), '->hasCommand() returns true if an alias is registered'); $t->is($application->getCommand('foo:bar'), $foo, '->getCommand() returns a command by name'); $t->is($application->getCommand('afoobar'), $foo, '->getCommand() returns a command by alias'); try { $application->getCommand('foofoo'); $t->fail('->getCommand() throws an \\InvalidArgumentException if the command does not exist'); } catch (\InvalidArgumentException $e) { $t->pass('->getCommand() throws an \\InvalidArgumentException if the command does not exist'); } class TestApplication extends Application { public function setWantHelps() { $this->wantHelps = true; } } $application = new TestApplication();