mirror of
https://github.com/shlinkio/shlink.git
synced 2025-02-25 18:45:27 -06:00
Extracted function to render arrays from inside ValidationException
This commit is contained in:
parent
7a19b8765d
commit
1f2e16184c
@ -10,6 +10,9 @@ use Fig\Http\Message\StatusCodeInterface;
|
|||||||
use Laminas\InputFilter\InputFilter;
|
use Laminas\InputFilter\InputFilter;
|
||||||
use PUGX\Shortid\Factory as ShortIdFactory;
|
use PUGX\Shortid\Factory as ShortIdFactory;
|
||||||
|
|
||||||
|
use function Functional\reduce_left;
|
||||||
|
use function is_array;
|
||||||
|
use function print_r;
|
||||||
use function sprintf;
|
use function sprintf;
|
||||||
|
|
||||||
const DEFAULT_DELETE_SHORT_URL_THRESHOLD = 15;
|
const DEFAULT_DELETE_SHORT_URL_THRESHOLD = 15;
|
||||||
@ -75,3 +78,12 @@ function getOptionalBoolFromInputFilter(InputFilter $inputFilter, string $fieldN
|
|||||||
$value = $inputFilter->getValue($fieldName);
|
$value = $inputFilter->getValue($fieldName);
|
||||||
return $value !== null ? (bool) $value : null;
|
return $value !== null ? (bool) $value : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function arrayToString(array $array): string
|
||||||
|
{
|
||||||
|
return reduce_left($array, fn ($messages, string $name, $_, string $acc) => $acc . sprintf(
|
||||||
|
"\n '%s' => %s",
|
||||||
|
$name,
|
||||||
|
is_array($messages) ? print_r($messages, true) : $messages,
|
||||||
|
), '');
|
||||||
|
}
|
||||||
|
@ -11,9 +11,7 @@ use Mezzio\ProblemDetails\Exception\ProblemDetailsExceptionInterface;
|
|||||||
use Throwable;
|
use Throwable;
|
||||||
|
|
||||||
use function array_keys;
|
use function array_keys;
|
||||||
use function Functional\reduce_left;
|
use function Shlinkio\Shlink\Core\arrayToString;
|
||||||
use function is_array;
|
|
||||||
use function print_r;
|
|
||||||
use function sprintf;
|
use function sprintf;
|
||||||
|
|
||||||
use const PHP_EOL;
|
use const PHP_EOL;
|
||||||
@ -60,19 +58,10 @@ class ValidationException extends InvalidArgumentException implements ProblemDet
|
|||||||
$this->getMessage(),
|
$this->getMessage(),
|
||||||
$this->getFile(),
|
$this->getFile(),
|
||||||
$this->getLine(),
|
$this->getLine(),
|
||||||
$this->invalidElementsToString(),
|
arrayToString($this->getInvalidElements()),
|
||||||
PHP_EOL,
|
PHP_EOL,
|
||||||
PHP_EOL,
|
PHP_EOL,
|
||||||
$this->getTraceAsString(),
|
$this->getTraceAsString(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function invalidElementsToString(): string
|
|
||||||
{
|
|
||||||
return reduce_left($this->getInvalidElements(), fn ($messages, string $name, $_, string $acc) => $acc . sprintf(
|
|
||||||
"\n '%s' => %s",
|
|
||||||
$name,
|
|
||||||
is_array($messages) ? print_r($messages, true) : $messages,
|
|
||||||
), '');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -32,9 +32,9 @@ class ValidationExceptionTest extends TestCase
|
|||||||
];
|
];
|
||||||
$barValue = print_r(['baz', 'foo'], true);
|
$barValue = print_r(['baz', 'foo'], true);
|
||||||
$expectedStringRepresentation = <<<EOT
|
$expectedStringRepresentation = <<<EOT
|
||||||
'foo' => bar
|
'foo' => bar
|
||||||
'something' => {$barValue}
|
'something' => {$barValue}
|
||||||
EOT;
|
EOT;
|
||||||
|
|
||||||
$inputFilter = $this->prophesize(InputFilterInterface::class);
|
$inputFilter = $this->prophesize(InputFilterInterface::class);
|
||||||
$getMessages = $inputFilter->getMessages()->willReturn($invalidData);
|
$getMessages = $inputFilter->getMessages()->willReturn($invalidData);
|
||||||
|
Loading…
Reference in New Issue
Block a user