Class ConsoleOutput
StubOutput makes testing shell commands/shell helpers easier.
You can use this class by injecting it into a ConsoleIo instance that your command/task/helper uses:
use Cake\Console\ConsoleIo;
use Cake\TestSuite\Stub\ConsoleOutput;
$output = new ConsoleOutput();
$io = new ConsoleIo($output);Constants
Property Summary
- 
        $_backgroundColors protected staticarraybackground colors used in colored output. 
- 
        $_foregroundColors protected staticarraytext colors used in colored output. 
- 
        $_options protected staticarrayFormatting options for colored output. 
- 
        $_out protectedarrayBuffered messages. 
- 
        $_output protectedresourceFile handle for output. 
- 
        $_outputAs protectedintThe current output type. 
- 
        $_styles protected staticarrayStyles that are available as tags in console output. You can modify these styles with ConsoleOutput::styles() 
Method Summary
- 
          __construct() publicConstruct the output object. 
- 
          __destruct() publicClean up and close handles 
- 
          _replaceTags() protectedReplace tags with color codes. 
- 
          _write() protectedWrites a message to the output stream. 
- 
          getOutputAs() publicGet the output type on how formatting tags are treated. 
- 
          getStyle() publicGets the current styles offered 
- 
          messages() publicGet the buffered output. 
- 
          output() publicGet the output as a string 
- 
          setOutputAs() publicSet the output type on how formatting tags are treated. 
- 
          setStyle() publicSets style. 
- 
          styleText() publicApply styling to text. 
- 
          styles() publicGets all the style definitions. 
- 
          write() publicWrite output to the buffer. 
Method Detail
__construct() ¶ public
__construct(string $stream = 'php://stdout')Construct the output object.
Checks for a pretty console environment. Ansicon and ConEmu allows pretty consoles on windows, and is supported.
Parameters
- 
                string$stream optional
- The identifier of the stream to write output to. 
_replaceTags() ¶ protected
_replaceTags(array $matches): stringReplace tags with color codes.
Parameters
- 
                array$matches
- An array of matches to replace. 
Returns
string_write() ¶ protected
_write(string $message): intWrites a message to the output stream.
Parameters
- 
                string$message
- Message to write. 
Returns
intThe number of bytes returned from writing to output.
getOutputAs() ¶ public
getOutputAs(): intGet the output type on how formatting tags are treated.
Returns
intgetStyle() ¶ public
getStyle(string $style): arrayGets the current styles offered
Parameters
- 
                string$style
- The style to get. 
Returns
arrayThe style or empty array.
setOutputAs() ¶ public
setOutputAs(int $type): voidSet the output type on how formatting tags are treated.
Parameters
- 
                int$type
- The output type to use. Should be one of the class constants. 
Returns
voidThrows
InvalidArgumentExceptionin case of a not supported output type.
setStyle() ¶ public
setStyle(string $style, array $definition): voidSets style.
Creates or modifies an existing style.
$output->setStyle('annoy', ['text' => 'purple', 'background' => 'yellow', 'blink' => true]);Remove a style
$this->output->setStyle('annoy', []);Parameters
- 
                string$style
- The style to set. 
- 
                array$definition
- The array definition of the style to change or create.. 
Returns
voidstyleText() ¶ public
styleText(string $text): stringApply styling to text.
Parameters
- 
                string$text
- Text with styling tags. 
Returns
stringString with color codes added.
write() ¶ public
write(string|string[] $message, int $newlines = 1): intWrite output to the buffer.
Parameters
- 
                string|string[]$message
- A string or an array of strings to output 
- 
                int$newlines optional
- Number of newlines to append 
Returns
intProperty Detail
$_styles ¶ protected static
Styles that are available as tags in console output. You can modify these styles with ConsoleOutput::styles()
Type
array