Browse Source

Propagate root names to sub commands.

Mark Story 8 years ago
parent
commit
2489da888a

+ 1 - 0
src/Console/ConsoleOptionParser.php

@@ -741,6 +741,7 @@ class ConsoleOptionParser
                 $subparser->setDescription($command->getRawHelp());
             }
             $subparser->setCommand($this->getCommand() . ' ' . $subcommand);
+            $subparser->setRootName($this->rootName);
 
             return $subparser->help(null, $format, $width);
         }

+ 5 - 4
tests/TestCase/Console/ConsoleOptionParserTest.php

@@ -747,9 +747,10 @@ TEXT;
 
         $parser = new ConsoleOptionParser('mycommand', false);
         $parser->addSubcommand('method', [
-            'help' => 'This is a subcommand',
-            'parser' => $subParser
-        ])
+                'help' => 'This is a subcommand',
+                'parser' => $subParser
+            ])
+            ->setRootName('tool')
             ->addOption('test', ['help' => 'A test option.']);
 
         $result = $parser->help('method');
@@ -757,7 +758,7 @@ TEXT;
 This is a subcommand
 
 <info>Usage:</info>
-cake mycommand method [-f] [-h] [-q] [-v]
+tool mycommand method [-f] [-h] [-q] [-v]
 
 <info>Options:</info>