public function testBuildAnonymousArgsFormat() { $baseFormat = new ArgsFormat(); $this->config->setName('command'); $this->config->setAliases(array('alias1', 'alias2')); $this->config->addOption('option'); $this->config->addArgument('argument'); $this->config->markAnonymous(); $expected = ArgsFormat::build($baseFormat)->addArgument(new Argument('argument'))->addOption(new Option('option'))->getFormat(); $this->assertEquals($expected, $this->config->buildArgsFormat($baseFormat)); }
public function testInheritParentArgsFormat() { $parentConfig = new CommandConfig('parent'); $parentConfig->addArgument('parent-argument'); $parentConfig->addOption('parent-option'); $parentCommand = new Command($parentConfig, $this->application); $config = new CommandConfig('command'); $config->addArgument('argument'); $config->addOption('option'); $command = new Command($config, $this->application, $parentCommand); $argsFormat = $command->getArgsFormat(); $this->assertSame($parentCommand->getArgsFormat(), $argsFormat->getBaseFormat()); $this->assertCount(2, $argsFormat->getArguments()); $this->assertTrue($argsFormat->hasArgument('argument')); $this->assertTrue($argsFormat->hasArgument('parent-argument')); $this->assertCount(2, $argsFormat->getOptions()); $this->assertTrue($argsFormat->hasOption('option')); $this->assertTrue($argsFormat->hasOption('parent-option')); }