/
githubmirror
/
symfony
Обзор
Документация
Войти
/
githubmirror
/
symfony
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
8.2
src/Symfony/Component/Console/Tests/ArgumentResolver/ValueResolver/DefaultValueResolverTest.php
80 строк
3 KB
Robin Chalas
[Console] Add argument resolvers
05 янв 2026, 20:31
Не верифицирован
05 янв 2026, 20:31
7008e30
Код
Авторство
О чём код?
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Console\Tests\ArgumentResolver\ValueResolver; use PHPUnit\Framework\TestCase; use Symfony\Component\Console\ArgumentResolver\ValueResolver\DefaultValueResolver; use Symfony\Component\Console\Attribute\Reflection\ReflectionMember; use Symfony\Component\Console\Input\ArrayInput; class DefaultValueResolverTest extends TestCase { public function testResolveParameterWithDefaultValue() { $resolver = new DefaultValueResolver(); $input = new ArrayInput([]); $function = static fn (string $name = 'default') => null; $reflection = new \ReflectionFunction($function); $parameter = $reflection->getParameters()[0]; $member = new ReflectionMember($parameter); $result = $resolver->resolve('name', $input, $member); $this->assertSame(['default'], $result); } public function testResolveNullableParameterWithoutDefaultValue() { $resolver = new DefaultValueResolver(); $input = new ArrayInput([]); $function = static fn (?string $name) => null; $reflection = new \ReflectionFunction($function); $parameter = $reflection->getParameters()[0]; $member = new ReflectionMember($parameter); $result = $resolver->resolve('name', $input, $member); $this->assertSame([null], $result); } public function testResolveVariadicParameterReturnsEmpty() { $resolver = new DefaultValueResolver(); $input = new ArrayInput([]); $function = static fn (string ...$names) => null; $reflection = new \ReflectionFunction($function); $parameter = $reflection->getParameters()[0]; $member = new ReflectionMember($parameter); $result = $resolver->resolve('names', $input, $member); $this->assertSame([], $result); } public function testResolveRequiredParameterWithoutDefaultReturnsEmpty() { $resolver = new DefaultValueResolver(); $input = new ArrayInput([]); $function = static fn (string $name) => null; $reflection = new \ReflectionFunction($function); $parameter = $reflection->getParameters()[0]; $member = new ReflectionMember($parameter); $result = $resolver->resolve('name', $input, $member); $this->assertSame([], $result); } }