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);
Cake\Console\ConsoleOutput
Extended by Cake\TestSuite\Stub\ConsoleOutput

Method Detail

messagessource public

messages( )

Get the buffered output.

Returns

array
array

writesource public

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

Write output to the buffer.

Parameters

string|array $message
A string or an array of strings to output
integer $newlines optional 1
Number of newlines to append

Overrides

Cake\Console\ConsoleOutput::write()

Methods inherited from Cake\Console\ConsoleOutput

__constructsource 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 'php://stdout'
The identifier of the stream to write output to.

__destructsource public

__destruct( )

Clean up and close handles

_replaceTagssource protected

_replaceTags( array $matches )

Replace tags with color codes.

Parameters

array $matches
An array of matches to replace.

Returns

string
string

_writesource protected

_write( string $message )

Writes a message to the output stream.

Parameters

string $message
Message to write.

Returns

boolean
success

outputAssource public

outputAs( integer|null $type null )

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

Parameters

integer|null $type optional null
The output type to use. Should be one of the class constants.

Returns

integer|null
Either null or the value if getting.

styleTextsource public

styleText( string $text )

Apply styling to text.

Parameters

string $text
Text with styling tags.

Returns

string
String with color codes added.

stylessource public

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

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 null
The style to get or create.
array|boolean|null $definition optional null
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.

Constants inherited from Cake\Console\ConsoleOutput

COLOR, LF, PLAIN, RAW

Properties summary

$_outsource

protected array

Buffered messages.

[]

Properties inherited from Cake\Console\ConsoleOutput

$_backgroundColorssource

protected static array

background colors used in colored output.

[
    'black' => 40,
    'red' => 41,
    'green' => 42,
    'yellow' => 43,
    'blue' => 44,
    'magenta' => 45,
    'cyan' => 46,
    'white' => 47
]

$_foregroundColorssource

protected static array

text colors used in colored output.

[
    'black' => 30,
    'red' => 91,
    'green' => 32,
    'yellow' => 33,
    'blue' => 34,
    'magenta' => 35,
    'cyan' => 36,
    'white' => 37
]

$_optionssource

protected static string

formatting options for colored output

[
    'bold' => 1,
    'underline' => 4,
    'blink' => 5,
    'reverse' => 7,
]

$_outputsource

protected resource

File handle for output.

$_outputAssource

protected integer

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

$_stylessource

protected static array

Styles that are available as tags in console output. You can modify these styles with ConsoleOutput::styles()

[
    'emergency' => ['text' => 'red'],
    'alert' => ['text' => 'red'],
    'critical' => ['text' => 'red'],
    'error' => ['text' => 'red'],
    'warning' => ['text' => 'yellow'],
    'info' => ['text' => 'cyan'],
    'debug' => ['text' => 'yellow'],
    'success' => ['text' => 'green'],
    'comment' => ['text' => 'blue'],
    'question' => ['text' => 'magenta'],
    'notice' => ['text' => 'cyan']
]

© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.TestSuite.Stub.ConsoleOutput.html