fix: missing things on junit

This commit is contained in:
Nuno Maduro
2024-01-20 13:21:57 +00:00
parent fef02594db
commit b9d2be87a2
8 changed files with 63 additions and 26 deletions

44
src/Plugins/JUnit.php Normal file
View File

@ -0,0 +1,44 @@
<?php
declare(strict_types=1);
namespace Pest\Plugins;
use Pest\Contracts\Plugins\HandlesArguments;
use Pest\Plugins\Concerns\HandleArguments;
/**
* @internal
*/
final class JUnit implements HandlesArguments
{
use HandleArguments;
/**
* Handles the arguments, adding the cache directory and the cache result arguments.
*/
public function handleArguments(array $arguments): array
{
if (! $this->hasArgument('--log-junit', $arguments)) {
return $arguments;
}
$logUnitArgument = null;
$arguments = array_filter($arguments, function (string $argument) use (&$logUnitArgument): bool {
if (str_starts_with($argument, '--log-junit')) {
$logUnitArgument = $argument;
return false;
}
return true;
});
assert(is_string($logUnitArgument));
$arguments[] = $logUnitArgument;
return array_values($arguments);
}
}