Skip to content

Commit

Permalink
Fix regression of arrays to be passed for output.
Browse files Browse the repository at this point in the history
  • Loading branch information
dereuromark committed Jul 19, 2017
1 parent c90f9d2 commit c2559a7
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 4 deletions.
36 changes: 32 additions & 4 deletions src/Console/Shell.php
Original file line number Diff line number Diff line change
Expand Up @@ -665,7 +665,14 @@ public function out($message = null, $newlines = 1, $level = Shell::NORMAL)
*/
public function err($message = null, $newlines = 1)
{
return $this->_io->err('<error>' . $message . '</error>', $newlines);
if (is_array($message)) {
foreach ($message as $k => $v) {
$message[$k] = '<error>' . $v . '</error>';
}
} else {
$message = '<error>' . $message . '</error>';
}
return $this->_io->err($message, $newlines);
}

/**
Expand All @@ -679,7 +686,14 @@ public function err($message = null, $newlines = 1)
*/
public function info($message = null, $newlines = 1, $level = Shell::NORMAL)
{
return $this->out('<info>' . $message . '</info>', $newlines, $level);
if (is_array($message)) {
foreach ($message as $k => $v) {
$message[$k] = '<info>' . $v . '</info>';
}
} else {
$message = '<info>' . $message . '</info>';
}
return $this->out($message, $newlines, $level);
}

/**
Expand All @@ -692,7 +706,14 @@ public function info($message = null, $newlines = 1, $level = Shell::NORMAL)
*/
public function warn($message = null, $newlines = 1)
{
return $this->_io->err('<warning>' . $message . '</warning>', $newlines);
if (is_array($message)) {
foreach ($message as $k => $v) {
$message[$k] = '<warning>' . $v . '</warning>';
}
} else {
$message = '<warning>' . $message . '</warning>';
}
return $this->_io->err($message, $newlines);
}

/**
Expand All @@ -706,7 +727,14 @@ public function warn($message = null, $newlines = 1)
*/
public function success($message = null, $newlines = 1, $level = Shell::NORMAL)
{
return $this->out('<success>' . $message . '</success>', $newlines, $level);
if (is_array($message)) {
foreach ($message as $k => $v) {
$message[$k] = '<success>' . $v . '</success>';
}
} else {
$message = '<success>' . $message . '</success>';
}
return $this->out($message, $newlines, $level);
}

/**
Expand Down
14 changes: 14 additions & 0 deletions tests/TestCase/Console/ShellTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,20 @@ public function testErr()
$this->Shell->err('Just a test');
}

/**
* testErr method with array
*
* @return void
*/
public function testErrArray()
{
$this->io->expects($this->once())
->method('err')
->with(['<error>Just</error>', '<error>a</error>', '<error>test</error>'], 1);

$this->Shell->err(['Just', 'a', 'test']);
}

/**
* testInfo method
*
Expand Down

0 comments on commit c2559a7

Please sign in to comment.