1<?php 2 3/* 4 * This file is part of the Symfony package. 5 * 6 * (c) Fabien Potencier <fabien@symfony.com> 7 * 8 * For the full copyright and license information, please view the LICENSE 9 * file that was distributed with this source code. 10 */ 11 12namespace Symfony\Component\Form\Tests\Extension\Validator; 13 14use PHPUnit\Framework\TestCase; 15use Symfony\Component\Form\Extension\Validator\Constraints\Form as FormConstraint; 16use Symfony\Component\Form\Extension\Validator\ValidatorExtension; 17use Symfony\Component\Form\Extension\Validator\ValidatorTypeGuesser; 18use Symfony\Component\Form\Form; 19use Symfony\Component\Validator\Mapping\CascadingStrategy; 20use Symfony\Component\Validator\Mapping\ClassMetadata; 21use Symfony\Component\Validator\Mapping\TraversalStrategy; 22use Symfony\Component\Validator\Tests\Fixtures\FakeMetadataFactory; 23use Symfony\Component\Validator\Validation; 24 25class ValidatorExtensionTest extends TestCase 26{ 27 public function test2Dot5ValidationApi() 28 { 29 $metadata = new ClassMetadata(Form::class); 30 31 $metadataFactory = new FakeMetadataFactory(); 32 $metadataFactory->addMetadata($metadata); 33 34 $validator = Validation::createValidatorBuilder() 35 ->setMetadataFactory($metadataFactory) 36 ->getValidator(); 37 38 $extension = new ValidatorExtension($validator); 39 40 $this->assertInstanceOf(ValidatorTypeGuesser::class, $extension->loadTypeGuesser()); 41 42 $this->assertCount(1, $metadata->getConstraints()); 43 $this->assertInstanceOf(FormConstraint::class, $metadata->getConstraints()[0]); 44 45 $this->assertSame(CascadingStrategy::NONE, $metadata->cascadingStrategy); 46 $this->assertSame(TraversalStrategy::NONE, $metadata->traversalStrategy); 47 $this->assertCount(0, $metadata->getPropertyMetadata('children')); 48 } 49} 50