Skip to content

Commit c2559a7

Browse files
committed
Fix regression of arrays to be passed for output.
1 parent c90f9d2 commit c2559a7

File tree

2 files changed

+46
-4
lines changed

2 files changed

+46
-4
lines changed

src/Console/Shell.php

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -665,7 +665,14 @@ public function out($message = null, $newlines = 1, $level = Shell::NORMAL)
665665
*/
666666
public function err($message = null, $newlines = 1)
667667
{
668-
return $this->_io->err('<error>' . $message . '</error>', $newlines);
668+
if (is_array($message)) {
669+
foreach ($message as $k => $v) {
670+
$message[$k] = '<error>' . $v . '</error>';
671+
}
672+
} else {
673+
$message = '<error>' . $message . '</error>';
674+
}
675+
return $this->_io->err($message, $newlines);
669676
}
670677

671678
/**
@@ -679,7 +686,14 @@ public function err($message = null, $newlines = 1)
679686
*/
680687
public function info($message = null, $newlines = 1, $level = Shell::NORMAL)
681688
{
682-
return $this->out('<info>' . $message . '</info>', $newlines, $level);
689+
if (is_array($message)) {
690+
foreach ($message as $k => $v) {
691+
$message[$k] = '<info>' . $v . '</info>';
692+
}
693+
} else {
694+
$message = '<info>' . $message . '</info>';
695+
}
696+
return $this->out($message, $newlines, $level);
683697
}
684698

685699
/**
@@ -692,7 +706,14 @@ public function info($message = null, $newlines = 1, $level = Shell::NORMAL)
692706
*/
693707
public function warn($message = null, $newlines = 1)
694708
{
695-
return $this->_io->err('<warning>' . $message . '</warning>', $newlines);
709+
if (is_array($message)) {
710+
foreach ($message as $k => $v) {
711+
$message[$k] = '<warning>' . $v . '</warning>';
712+
}
713+
} else {
714+
$message = '<warning>' . $message . '</warning>';
715+
}
716+
return $this->_io->err($message, $newlines);
696717
}
697718

698719
/**
@@ -706,7 +727,14 @@ public function warn($message = null, $newlines = 1)
706727
*/
707728
public function success($message = null, $newlines = 1, $level = Shell::NORMAL)
708729
{
709-
return $this->out('<success>' . $message . '</success>', $newlines, $level);
730+
if (is_array($message)) {
731+
foreach ($message as $k => $v) {
732+
$message[$k] = '<success>' . $v . '</success>';
733+
}
734+
} else {
735+
$message = '<success>' . $message . '</success>';
736+
}
737+
return $this->out($message, $newlines, $level);
710738
}
711739

712740
/**

tests/TestCase/Console/ShellTest.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,20 @@ public function testErr()
309309
$this->Shell->err('Just a test');
310310
}
311311

312+
/**
313+
* testErr method with array
314+
*
315+
* @return void
316+
*/
317+
public function testErrArray()
318+
{
319+
$this->io->expects($this->once())
320+
->method('err')
321+
->with(['<error>Just</error>', '<error>a</error>', '<error>test</error>'], 1);
322+
323+
$this->Shell->err(['Just', 'a', 'test']);
324+
}
325+
312326
/**
313327
* testInfo method
314328
*

0 commit comments

Comments
 (0)