\Cake\TestSuite\StubConsoleOutput

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);

Summary

Methods
Properties
Constants
__construct()
write()
styleText()
styles()
getOutputAs()
setOutputAs()
outputAs()
__destruct()
messages()
No public properties found
RAW
PLAIN
COLOR
LF
_replaceTags()
_write()
$_output
$_outputAs
$_foregroundColors
$_backgroundColors
$_options
$_styles
$_out
N/A
No private methods found
No private properties found
N/A

Constants

RAW

RAW = 0 : integer

Raw output constant - no modification of output text.

PLAIN

PLAIN = 1 : integer

Plain output - tags will be stripped.

COLOR

COLOR = 2 : integer

Color output - Convert known tags in to ANSI color escape codes.

LF

LF = PHP_EOL : string

Constant for a newline.

Properties

$_output

$_output : resource

File handle for output.

Type

resource

$_outputAs

$_outputAs : integer

The current output type. Manipulated with ConsoleOutput::outputAs();

Type

integer

$_foregroundColors

$_foregroundColors : array

text colors used in colored output.

Type

array

$_backgroundColors

$_backgroundColors : array

background colors used in colored output.

Type

array

$_options

$_options : array

Formatting options for colored output.

Type

array

$_styles

$_styles : array

Styles that are available as tags in console output.

You can modify these styles with ConsoleOutput::styles()

Type

array

$_out

$_out : array

Buffered messages.

Type

array

Methods

__construct()

__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

The identifier of the stream to write output to.

write()

write(string|array  $message, integer  $newlines = 1) : void

Write output to the buffer.

Parameters

string|array $message

A string or an array of strings to output

integer $newlines

Number of newlines to append

styleText()

styleText(string  $text) : string

Apply styling to text.

Parameters

string $text

Text with styling tags.

Returns

string —

String with color codes added.

styles()

styles(string|null  $style = null, array|boolean|null  $definition = null) : mixed

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

The style to get or create.

array|boolean|null $definition

The array definition of the style to change or create a style or false to remove a style.

Returns

mixed —

If you are getting styles, the style or null will be returned. If you are creating/modifying styles true will be returned.

getOutputAs()

getOutputAs() : integer

Get the output type on how formatting tags are treated.

Returns

integer

setOutputAs()

setOutputAs(integer  $type) : void

Set the output type on how formatting tags are treated.

Parameters

integer $type

The output type to use. Should be one of the class constants.

Throws

\InvalidArgumentException

in case of a not supported output type.

outputAs()

outputAs(integer|null  $type = null) : integer|null

Get/Set the output type to use. The output type how formatting tags are treated.

Parameters

integer|null $type

The output type to use. Should be one of the class constants.

Returns

integer|null —

Either null or the value if getting.

__destruct()

__destruct() 

Clean up and close handles

messages()

messages() : array

Get the buffered output.

Returns

array

_replaceTags()

_replaceTags(array  $matches) : string

Replace tags with color codes.

Parameters

array $matches

An array of matches to replace.

Returns

string

_write()

_write(string  $message) : integer|boolean

Writes a message to the output stream.

Parameters

string $message

Message to write.

Returns

integer|boolean —

The number of bytes returned from writing to output.