W3cubDocs

/CakePHP 4.4

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

  • int
    COLOR
    2

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

  • string
    LF
    PHP_EOL

    Constant for a newline.

  • int
    PLAIN
    1

    Plain output - tags will be stripped.

  • int
    RAW
    0

    Raw 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
    resource

    File handle for output.

  • $_outputAs protected
    int

    The 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

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

int

getOutputAs() public

getOutputAs(): int

Get the output type on how formatting tags are treated.

Returns

int

getStyle() public

getStyle(string $style): array

Gets the current styles offered

Parameters

string $style

The style to get.

Returns

array

messages() public

messages(): array<string>

Get the buffered output.

Returns

array<string>

output() public

output(): string

Get the output as a string

Returns

string

setOutputAs() 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

void

Throws

InvalidArgumentException
in 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

void

styleText() public

styleText(string $text): string

Apply styling to text.

Parameters

string $text

Text with styling tags.

Returns

string

styles() 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

int

Property 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