/** * Display the help in the correct format * * @param string $command The command to get help for. * @return int|bool */ protected function _displayHelp($command) { $format = 'text'; if (!empty($this->args[0]) && $this->args[0] === 'xml') { $format = 'xml'; $this->_io->outputAs(ConsoleOutput::RAW); } else { $this->_welcome(); } return $this->out($this->OptionParser->help($command, $format)); }
/** * test that help() with a command param shows the help for a subcommand * * @return void */ public function testHelpSubcommandHelp() { $subParser = new ConsoleOptionParser('method', false); $subParser->addOption('connection', ['help' => 'Db connection.']); $parser = new ConsoleOptionParser('mycommand', false); $parser->addSubcommand('method', ['help' => 'This is another command', 'parser' => $subParser])->addOption('test', ['help' => 'A test option.']); $result = $parser->help('method'); $expected = <<<TEXT <info>Usage:</info> cake mycommand method [-h] [--connection] <info>Options:</info> --help, -h Display this help. --connection Db connection. TEXT; $this->assertTextEquals($expected, $result, 'Help is not correct.'); }