1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
<?php
declare(strict_types=1);
namespace ProxyManagerTest\Inflector\Util;
use PHPUnit\Framework\TestCase;
use ProxyManager\Inflector\Util\ParameterEncoder;
/**
* Tests for {@see \ProxyManager\Inflector\Util\ParameterEncoder}
*
* @group Coverage
*/
final class ParameterEncoderTest extends TestCase
{
/**
* @param mixed[] $parameters
*
* @dataProvider getParameters
* @covers \ProxyManager\Inflector\Util\ParameterEncoder::encodeParameters
*/
public function testGeneratesValidClassName(array $parameters): void
{
$encoder = new ParameterEncoder();
self::assertMatchesRegularExpression(
'/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]+/',
$encoder->encodeParameters($parameters),
'Encoded string is a valid class identifier'
);
}
/** @return mixed[][] */
public static function getParameters(): array
{
return [
[[]],
[['foo' => 'bar']],
[['bar' => 'baz']],
[[null]],
[[null, null]],
[['bar' => null]],
[['bar' => 12345]],
[['foo' => 'bar', 'bar' => 'baz']],
];
}
}
|