On this page
Class 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\Console\TestSuite\StubConsoleOutput;
$output = new StubConsoleOutput();
$io = new ConsoleIo($output);
Constants
-
intCOLOR2Color output - Convert known tags in to ANSI color escape codes.
-
stringLFPHP_EOLConstant for a newline.
-
intPLAIN1Plain output - tags will be stripped.
-
intRAW0Raw output constant - no modification of output text.
Property Summary
-
$_backgroundColors protected static
array<string, int>background colors used in colored output.
-
$_foregroundColors protected static
array<string, int>text colors used in colored output.
-
$_options protected static
array<string, int>Formatting options for colored output.
-
$_out protected
array<string>Buffered messages.
-
$_output protected
resourceFile handle for output.
-
$_outputAs protected
intThe current output type.
-
$_styles protected static
array<string, array>Styles that are available as tags in console output. You can modify these styles with ConsoleOutput::styles()
Method Summary
__construct() public
Construct the output object.
__destruct() public
Clean up and close handles
_replaceTags() protected
Replace tags with color codes.
_write() protected
Writes a message to the output stream.
getOutputAs() public
Get the output type on how formatting tags are treated.
getStyle() public
Gets the current styles offered
messages() public
Get the buffered output.
output() public
Get the output as a string
setOutputAs() public
Set the output type on how formatting tags are treated.
setStyle() public
Sets style.
styleText() public
Apply styling to text.
styles() public
Gets all the style definitions.
write() public
Write 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.
__destruct() public
__destruct()
Clean up and close handles
_replaceTags() protected
_replaceTags(array<string, string> $matches): string
Replace tags with color codes.
Parameters
array<string, string>$matches-
An array of matches to replace.
Returns
string_write() protected
_write(string $message): int
Writes a message to the output stream.
Parameters
string$message-
Message to write.
Returns
intgetOutputAs() public
getOutputAs(): int
Get the output type on how formatting tags are treated.
Returns
intgetStyle() public
getStyle(string $style): array
Gets the current styles offered
Parameters
string$style-
The style to get.
Returns
arraymessages() public
messages(): array<string>
Get the buffered output.
Returns
array<string>output() public
output(): string
Get the output as a string
Returns
stringsetOutputAs() public
setOutputAs(int $type): void
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.
Returns
voidThrows
InvalidArgumentExceptionin case of a not supported output type.
setStyle() public
setStyle(string $style, array $definition): void
Sets 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): string
Apply styling to text.
Parameters
string$text-
Text with styling tags.
Returns
stringstyles() public
styles(): array<string, mixed>
Gets all the style definitions.
Returns
array<string, mixed>write() public
write(array<string>|string $message, int $newlines = 1): int
Write output to the buffer.
Parameters
array<string>|string$message-
A string or an array of strings to output
int$newlines optional-
Number of newlines to append
Returns
intProperty Detail
$_backgroundColors protected static
background colors used in colored output.
Type
array<string, int>$_foregroundColors protected static
text colors used in colored output.
Type
array<string, int>$_options protected static
Formatting options for colored output.
Type
array<string, int>$_out protected
Buffered messages.
Type
array<string>$_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<string, 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/4.4/class-Cake.Console.TestSuite.StubConsoleOutput.html