/** * Checks that we can still use FormType with required arguments without defining them as services. * @dataProvider dataTestParse */ public function testLegacyParse($typeName, $expected) { if (LegacyFormHelper::hasBCBreaks()) { $this->markTestSkipped('Not supported on symfony 3.0.'); } $resolvedTypeFactory = new ResolvedFormTypeFactory(); $formFactoryBuilder = new FormFactoryBuilder(); $formFactoryBuilder->setResolvedTypeFactory($resolvedTypeFactory); $formFactoryBuilder->addExtension(new CoreExtension()); $formFactoryBuilder->addTypeExtension(new DescriptionFormTypeExtension()); $formFactory = $formFactoryBuilder->getFormFactory(); $formTypeParser = new FormTypeParser($formFactory, $entityToChoice = true); set_error_handler(array('Nelmio\\ApiDocBundle\\Tests\\WebTestCase', 'handleDeprecation')); trigger_error('test', E_USER_DEPRECATED); $output = $formTypeParser->parse($typeName); restore_error_handler(); $this->assertEquals($expected, $output); }
/** * {@inheritdoc} */ public function buildForm(FormBuilderInterface $builder, array $options) { $collectionType = 'Symfony\\Component\\Form\\Extension\\Core\\Type\\CollectionType'; $builder->add('a', LegacyFormHelper::getType($collectionType), array(LegacyFormHelper::hasBCBreaks() ? 'entry_type' : 'type' => LegacyFormHelper::getType('Symfony\\Component\\Form\\Extension\\Core\\Type\\TextType')))->add('b', LegacyFormHelper::getType($collectionType), array(LegacyFormHelper::hasBCBreaks() ? 'entry_type' : 'type' => LegacyFormHelper::isLegacy() ? new TestType() : __NAMESPACE__ . '\\TestType')); }
private function createForm($type, $data = null, array $options = array()) { try { return $this->formFactory->create($type, null, $options); } catch (InvalidArgumentException $exception) { } if (!LegacyFormHelper::hasBCBreaks() && !isset($form) && $this->implementsType($type)) { $type = $this->getTypeInstance($type); return $this->formFactory->create($type, null, $options); } }