/** * Runs the command and returns it's output. * * @param array $input Command input. * @param array $options Command tester options. * * @return string */ protected function runCommand(array $input = array(), array $options = array()) { $input['command'] = $this->command->getName(); $options['interactive'] = true; $this->commandTester->execute($input, $options); return $this->commandTester->getDisplay(); }
/** * Validates command setting usage. * * @param string $name Name. * @param AbstractCommand $command Command to get settings from. * @param string $raw_path Raw path. * * @return AbstractConfigSetting * @throws \LogicException When command don't have any config settings to provide. */ protected function getSetting($name, AbstractCommand $command, $raw_path) { if (!$command instanceof IConfigAwareCommand) { throw new \LogicException('The "' . $command->getName() . '" command does not have any settings.'); } $config_setting = $this->findSetting($name, $command->getConfigSettings(), $command->getName()); if ($config_setting->isWithinScope(AbstractConfigSetting::SCOPE_WORKING_COPY)) { $config_setting->setWorkingCopyUrl($this->workingCopyResolver->getWorkingCopyUrl($raw_path)); } $config_setting->setEditor($this->configEditor); return $config_setting; }