Blame view

vendor/symfony/console/Tests/Command/ListCommandTest.php 4.01 KB
ad2e91f7   Mihail   move multyparser ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
  <?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\Command;
  
  use Symfony\Component\Console\Tester\CommandTester;
  use Symfony\Component\Console\Application;
  
  class ListCommandTest extends \PHPUnit_Framework_TestCase
  {
      public function testExecuteListsCommands()
      {
          $application = new Application();
          $commandTester = new CommandTester($command = $application->get('list'));
          $commandTester->execute(array('command' => $command->getName()), array('decorated' => false));
  
          $this->assertRegExp('/help\s{2,}Displays help for a command/', $commandTester->getDisplay(), '->execute() returns a list of available commands');
      }
  
      public function testExecuteListsCommandsWithXmlOption()
      {
          $application = new Application();
          $commandTester = new CommandTester($command = $application->get('list'));
          $commandTester->execute(array('command' => $command->getName(), '--format' => 'xml'));
          $this->assertRegExp('/<command id="list" name="list">/', $commandTester->getDisplay(), '->execute() returns a list of available commands in XML if --xml is passed');
      }
  
      public function testExecuteListsCommandsWithRawOption()
      {
          $application = new Application();
          $commandTester = new CommandTester($command = $application->get('list'));
          $commandTester->execute(array('command' => $command->getName(), '--raw' => true));
          $output = <<<EOF
  help   Displays help for a command
  list   Lists commands
  
  EOF;
  
          $this->assertEquals($output, $commandTester->getDisplay(true));
      }
  
      public function testExecuteListsCommandsWithNamespaceArgument()
      {
          require_once realpath(__DIR__.'/../Fixtures/FooCommand.php');
          $application = new Application();
          $application->add(new \FooCommand());
          $commandTester = new CommandTester($command = $application->get('list'));
          $commandTester->execute(array('command' => $command->getName(), 'namespace' => 'foo', '--raw' => true));
          $output = <<<EOF
  foo:bar   The foo:bar command
  
  EOF;
  
          $this->assertEquals($output, $commandTester->getDisplay(true));
      }
  
      public function testExecuteListsCommandsOrder()
      {
          require_once realpath(__DIR__.'/../Fixtures/Foo6Command.php');
          $application = new Application();
          $application->add(new \Foo6Command());
          $commandTester = new CommandTester($command = $application->get('list'));
          $commandTester->execute(array('command' => $command->getName()), array('decorated' => false));
          $output = <<<EOF
  Console Tool
  
  Usage:
    command [options] [arguments]
  
  Options:
    -h, --help            Display this help message
    -q, --quiet           Do not output any message
    -V, --version         Display this application version
        --ansi            Force ANSI output
        --no-ansi         Disable ANSI output
    -n, --no-interaction  Do not ask any interactive question
    -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
  
  Available commands:
    help      Displays help for a command
    list      Lists commands
   0foo
    0foo:bar  0foo:bar command
  EOF;
  
          $this->assertEquals($output, trim($commandTester->getDisplay(true)));
      }
  
      public function testExecuteListsCommandsOrderRaw()
      {
          require_once realpath(__DIR__.'/../Fixtures/Foo6Command.php');
          $application = new Application();
          $application->add(new \Foo6Command());
          $commandTester = new CommandTester($command = $application->get('list'));
          $commandTester->execute(array('command' => $command->getName(), '--raw' => true));
          $output = <<<EOF
  help       Displays help for a command
  list       Lists commands
  0foo:bar   0foo:bar command
  EOF;
  
          $this->assertEquals($output, trim($commandTester->getDisplay(true)));
      }
  }