Files
pest/tests/Visual/Todo.php
T
2026-07-18 01:10:01 +01:00

34 lines
1.3 KiB
PHP

<?php
use Symfony\Component\Process\Process;
$run = function (string $target, bool $parallel): ?string {
$process = new Process(['php', 'bin/pest', $target, $parallel ? '--parallel' : ''], dirname(__DIR__, 2),
['COLLISION_PRINTER' => 'DefaultPrinter', 'COLLISION_IGNORE_DURATION' => 'true', 'PAO_DISABLE' => '1'],
);
$process->run();
expect($process->getExitCode())->toBe(0);
$output = $process->getOutput();
return preg_replace('/Duration: \d+\.\d+s/', 'Duration: x.xxs', (string) removeAnsiEscapeSequences($output));
};
test('todos', function () use ($run): void {
expect($run('--todos', false))->toMatchSnapshot();
})->skipOnWindows()->skip(! getenv('REBUILD_SNAPSHOTS') && getenv('EXCLUDE'));
test('todos in parallel', function () use ($run): void {
expect($run('--todos', true))->toMatchSnapshot();
})->skipOnWindows()->skip(! getenv('REBUILD_SNAPSHOTS') && getenv('EXCLUDE'));
test('todo', function () use ($run): void {
expect($run('--todo', false))->toMatchSnapshot();
})->skipOnWindows()->skip(! getenv('REBUILD_SNAPSHOTS') && getenv('EXCLUDE'));
test('todo in parallel', function () use ($run): void {
expect($run('--todo', true))->toMatchSnapshot();
})->skipOnWindows()->skip(! getenv('REBUILD_SNAPSHOTS') && getenv('EXCLUDE'));