
| Current Path : /var/www/html1/vendor/symfony/validator/Tests/Constraints/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/html1/vendor/symfony/validator/Tests/Constraints/ValidValidatorTest.php |
<?php
namespace Symfony\Component\Validator\Tests\Constraints;
use PHPUnit\Framework\TestCase;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\Validator\Constraints\ValidValidator;
use Symfony\Component\Validator\ValidatorBuilder;
class ValidValidatorTest extends TestCase
{
public function testPropertyPathsArePassedToNestedContexts()
{
$validatorBuilder = new ValidatorBuilder();
$validator = $validatorBuilder->enableAnnotationMapping()->getValidator();
$violations = $validator->validate(new Foo(), null, ['nested']);
$this->assertCount(1, $violations);
$this->assertSame('fooBar.fooBarBaz.foo', $violations->get(0)->getPropertyPath());
}
public function testNullValues()
{
$validatorBuilder = new ValidatorBuilder();
$validator = $validatorBuilder->enableAnnotationMapping()->getValidator();
$foo = new Foo();
$foo->fooBar = null;
$violations = $validator->validate($foo, null, ['nested']);
$this->assertCount(0, $violations);
}
protected function createValidator()
{
return new ValidValidator();
}
}
class Foo
{
/**
* @Assert\Valid(groups={"nested"})
*/
public $fooBar;
public function __construct()
{
$this->fooBar = new FooBar();
}
}
class FooBar
{
/**
* @Assert\Valid(groups={"nested"})
*/
public $fooBarBaz;
public function __construct()
{
$this->fooBarBaz = new FooBarBaz();
}
}
class FooBarBaz
{
/**
* @Assert\NotBlank(groups={"nested"})
*/
public $foo;
}