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 summary
-
intCOLOR2 -
stringLFPHP_EOL -
intPLAIN1 -
intRAW0
Properties summary
- $_backgroundColors protected static
arraybackground colors used in colored output.
- $_foregroundColors protected static
arraytext colors used in colored output.
- $_options protected static
arrayFormatting options for colored output.
- $_out protected
arrayBuffered messages.
- $_output protected
resourceFile handle for output.
- $_outputAs protected
intThe current output type.
- $_styles protected static
arrayStyles that are available as tags in console output.
Method Summary
Method Detail
__construct() public
__construct(mixed $stream)
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.
__destruct() public
__destruct()
Clean up and close handles
_replaceTags() protected
_replaceTags(mixed $matches)
Replace tags with color codes.
Parameters
-
array$matches An array of matches to replace.
Returns
string_write() protected
_write(mixed $message)
Writes a message to the output stream.
Parameters
-
string$message Message to write.
Returns
int|boolThe number of bytes returned from writing to output.
getOutputAs() public
getOutputAs()
Get the output type on how formatting tags are treated.
Returns
intmessages() public
messages()
Get the buffered output.
Returns
arrayoutputAs() public
outputAs(mixed $type)
Get/Set the output type to use. The output type how formatting tags are treated.
Parameters
-
int|null$type optional The output type to use. Should be one of the class constants.
Returns
int|nullEither null or the value if getting.
setOutputAs() public
setOutputAs(mixed $type)
Set the output type on how formatting tags are treated.
Parameters
-
int$type The output type to use. Should be one of the class constants.
Throws
InvalidArgumentExceptionin case of a not supported output type.
styleText() public
styleText(mixed $text)
Apply styling to text.
Parameters
-
string$text Text with styling tags.
Returns
stringString with color codes added.
styles() public
styles(mixed $style, mixed $definition)
Get the current styles offered, or append new ones in.
Get a style definition
$output->styles('error'); Get all the style definitions
$output->styles();
Create or modify an existing style
$output->styles('annoy', ['text' => 'purple', 'background' => 'yellow', 'blink' => true]); Remove a style
$this->output->styles('annoy', false); Parameters
-
string|null$style optional The style to get or create.
-
array|false|null$definition optional The array definition of the style to change or create a style or false to remove a style.
Returns
array|true|nullIf you are getting styles, the style or null will be returned. If you are creating/modifying styles true will be returned.
write() public
write(mixed $message, mixed $newlines)
Write 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
Property Detail
$_backgroundColors protected static
background colors used in colored output.
Type
array$_foregroundColors protected static
text colors used in colored output.
Type
array$_options protected static
Formatting options for colored output.
Type
array$_out protected
Buffered messages.
Type
array$_output protected
File handle for output.
Type
resource$_outputAs protected
The current output type.
Type
int$_styles protected static
Styles that are available as tags in console output.
You can modify these styles with ConsoleOutput::styles()
Type
array
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.9/class-Cake.TestSuite.Stub.ConsoleOutput.html