3 namespace Symfony\Component\Validator\Tests\Constraints;
5 use PHPUnit\Framework\TestCase;
6 use Symfony\Component\Validator\Constraints as Assert;
7 use Symfony\Component\Validator\Constraints\ValidValidator;
8 use Symfony\Component\Validator\ValidatorBuilder;
10 class ValidValidatorTest extends TestCase
12 public function testPropertyPathsArePassedToNestedContexts()
14 $validatorBuilder = new ValidatorBuilder();
15 $validator = $validatorBuilder->enableAnnotationMapping()->getValidator();
17 $violations = $validator->validate(new Foo(), null, array('nested'));
19 $this->assertCount(1, $violations);
20 $this->assertSame('fooBar.fooBarBaz.foo', $violations->get(0)->getPropertyPath());
23 public function testNullValues()
25 $validatorBuilder = new ValidatorBuilder();
26 $validator = $validatorBuilder->enableAnnotationMapping()->getValidator();
30 $violations = $validator->validate($foo, null, array('nested'));
32 $this->assertCount(0, $violations);
35 protected function createValidator()
37 return new ValidValidator();
44 * @Assert\Valid(groups={"nested"})
48 public function __construct()
50 $this->fooBar = new FooBar();
57 * @Assert\Valid(groups={"nested"})
61 public function __construct()
63 $this->fooBarBaz = new FooBarBaz();
70 * @Assert\NotBlank(groups={"nested"})