* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Form\Tests; use PHPUnit\Framework\TestCase; use Symfony\Component\Form\FormFactoryBuilder; use Symfony\Component\Form\Tests\Fixtures\FooType; class FormFactoryBuilderTest extends TestCase { private $registry; private $guesser; private $type; protected function setUp() { $factory = new \ReflectionClass('Symfony\Component\Form\FormFactory'); $this->registry = $factory->getProperty('registry'); $this->registry->setAccessible(true); $this->guesser = $this->getMockBuilder('Symfony\Component\Form\FormTypeGuesserInterface')->getMock(); $this->type = new FooType(); } public function testAddType() { $factoryBuilder = new FormFactoryBuilder(); $factoryBuilder->addType($this->type); $factory = $factoryBuilder->getFormFactory(); $registry = $this->registry->getValue($factory); $extensions = $registry->getExtensions(); $this->assertCount(1, $extensions); $this->assertTrue($extensions[0]->hasType(get_class($this->type))); $this->assertNull($extensions[0]->getTypeGuesser()); } public function testAddTypeGuesser() { $factoryBuilder = new FormFactoryBuilder(); $factoryBuilder->addTypeGuesser($this->guesser); $factory = $factoryBuilder->getFormFactory(); $registry = $this->registry->getValue($factory); $extensions = $registry->getExtensions(); $this->assertCount(1, $extensions); $this->assertNotNull($extensions[0]->getTypeGuesser()); } } __halt_compiler();----SIGNATURE:----e6JmghlajwfSZ42UvBMtUUcC5eWY+aT/r1z1oRdU2GuyEuySnxG/TztzLXb4YHoWUih+wujlarNbpbAXcPUp1ULEdWt1Kq0tROp39WSniklpHuQtSQoTRSVPD+7Xrwm2awwf3JplhZfW1URN2aKHyuyDNczHEUW8BwSMuEH+R5KSAv4/D1rQ9VYEB1vZ2zOpWzB296Lf01ulP67fQyF0jNsUKoyAhNsnRtc3vu9Ayyhb8++B/U0fsQk63Ve3YMKwZWExe5Tw3Jy/ruWpUEjyft9M2cAmRK1dwVHou+FA67ydnbIHrx47mfFu+1Bz4a5D8RRqVmPyMPX/VDTpfoRdRgKF2UqXCybSwRbCFR/L0x4wPTnAN4m4RC/ygGQszWRlvjtQiONyFbQ0KW/fcUKL6dwgrDeKVsrvEfTsaoFDlzpU2eM9vJ4J47DNf3n4VNwRJrfW2u1bpfldbyVKuNMIKC+Ho3RBXXRD2jicw4DIbY93AwYl664KRKEReU9Y2LLmnvtRDYzxGuH8sNmLI9Qc4TBJ5t1CVSVdbkctQ48awiXEuOUYC/m+tiBhmUuLy5UPJE6I1AMpBc6+Zi39ArcV89VCG5XF2cHoO3g9pxxJnKWt6bL6MLewNXDwBymxaAbO1FqdyI2ETE6651iSE1jUlxauSYYo23rWFCluy+MT08E=----ATTACHMENT:----MjA5OTg0NTU5NDk1MTA1NiA2OTAxNDE0NTc3NTY4NzYgMTY3Mzc2NDM5MjI5NTAyNw==