Наследование: extends Symfony\Component\Console\Command\Command, implements CommandInterface
Пример #1
0
 /**
  * @param Command $command
  * @param string $name
  * @param string $desc
  * @param mixed[] $args
  * @param mixed[] $opts
  */
 public function assertCommand(Command $command, $name, $desc = "#(.*?)#si", $args = [], $opts = [])
 {
     $this->assertSame($name, $command->getName());
     $this->assertRegExp($desc, $command->getDescription());
     $def = $command->getDefinition();
     foreach ($args as $arg) {
         $this->assertTrue($def->hasArgument($arg[0]));
         if ($arg[1] === InputArgument::REQUIRED) {
             $this->assertTrue($def->getArgument($arg[0])->isRequired());
         }
         if ($arg[1] === InputArgument::OPTIONAL) {
             $this->assertFalse($def->getArgument($arg[0])->isRequired());
         }
         if ($arg[1] === InputArgument::IS_ARRAY) {
             $this->assertTrue($def->getArgument($arg[0])->isArray());
         }
         if (isset($arg[2])) {
             $this->assertRegExp($arg[2], $def->getArgument($arg[0])->getDescription());
         }
     }
     foreach ($opts as $opt) {
         $this->assertTrue($def->hasOption($opt[0]));
         if (isset($opt[1])) {
             $this->assertSame($opt[1], $def->getOption($opt[0])->getShortcut());
         }
         if ($opt[2] === InputOption::VALUE_REQUIRED) {
             $this->assertTrue($def->getOption($opt[0])->isValueRequired());
         }
         if ($opt[2] === InputOption::VALUE_OPTIONAL) {
             $this->assertTrue($def->getOption($opt[0])->isValueOptional());
         }
         if ($opt[2] === InputOption::VALUE_IS_ARRAY) {
             $this->assertTrue($def->getOption($opt[0])->isArray());
         }
         if (isset($opt[3])) {
             $this->assertRegExp($opt[3], $def->getOption($opt[0])->getDescription());
         }
         if (isset($opt[4])) {
             $this->assertSame($opt[4], $def->getOption($opt[0])->getDefault());
         }
     }
 }