diff --git a/lib/Cake/Console/Shell.php b/lib/Cake/Console/Shell.php index 646c937a2e2..509a5e37d9a 100644 --- a/lib/Cake/Console/Shell.php +++ b/lib/Cake/Console/Shell.php @@ -351,7 +351,8 @@ public function runCommand($command, $argv) { $this->OptionParser = $this->getOptionParser(); list($this->params, $this->args) = $this->OptionParser->parse($argv, $command); } catch (ConsoleException $e) { - return $this->out($this->OptionParser->help($command)); + $this->out($this->OptionParser->help($command)); + return false; } $this->command = $command; @@ -373,7 +374,8 @@ public function runCommand($command, $argv) { if ($isMain) { return $this->main(); } - return $this->out($this->OptionParser->help($command)); + $this->out($this->OptionParser->help($command)); + return false; } /** diff --git a/lib/Cake/Test/Case/Console/Command/ShellTest.php b/lib/Cake/Test/Case/Console/Command/ShellTest.php index 032e9fec43e..88fb901a6cb 100644 --- a/lib/Cake/Test/Case/Console/Command/ShellTest.php +++ b/lib/Cake/Test/Case/Console/Command/ShellTest.php @@ -747,6 +747,7 @@ public function testRunCommandMissingMethod() { $result = $Mock->runCommand('idontexist', array()); + $this->assertFalse($result); } /** @@ -777,14 +778,18 @@ public function testRunCommandTriggeringHelp() { public function testRunCommandHittingTask() { $Shell = $this->getMock('Shell', array('hasTask', 'startup'), array(), '', false); $task = $this->getMock('Shell', array('execute', 'runCommand'), array(), '', false); - $task->expects($this->any())->method('runCommand') + $task->expects($this->any()) + ->method('runCommand') ->with('execute', array('one', 'value')); $Shell->expects($this->once())->method('startup'); - $Shell->expects($this->any())->method('hasTask')->will($this->returnValue(true)); + $Shell->expects($this->any()) + ->method('hasTask') + ->will($this->returnValue(true)); + $Shell->RunCommand = $task; - $Shell->runCommand('run_command', array('run_command', 'one', 'value')); + $result = $Shell->runCommand('run_command', array('run_command', 'one', 'value')); } /**