Skip to content
This repository has been archived by the owner on Jul 4, 2018. It is now read-only.

Commit

Permalink
fixed some Form deprecations
Browse files Browse the repository at this point in the history
  • Loading branch information
fabpot committed Sep 8, 2015
1 parent cb46028 commit 780ab69
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 22 deletions.
4 changes: 2 additions & 2 deletions composer.json
@@ -1,5 +1,4 @@
{
"minimum-stability": "dev",
"name": "silex/silex",
"description": "The PHP micro-framework based on the Symfony Components",
"keywords": ["microframework"],
Expand Down Expand Up @@ -62,5 +61,6 @@
"branch-alias": {
"dev-master": "1.3.x-dev"
}
}
},
"minimum-stability": "dev"
}
8 changes: 7 additions & 1 deletion src/Silex/Application/FormTrait.php
Expand Up @@ -30,6 +30,12 @@ trait FormTrait
*/
public function form($data = null, array $options = array())
{
return $this['form.factory']->createBuilder('form', $data, $options);
$name = 'Symfony\Component\Form\Extension\Core\Type\FormType';
// for BC with Symfony pre 2.7
if (!class_exists('Symfony\Component\Form\Extension\Core\Type\RangeType')) {
$name = 'form';
}

return $this['form.factory']->createBuilder($name, $data, $options);
}
}
34 changes: 20 additions & 14 deletions tests/Silex/Tests/Provider/FormServiceProviderTest.php
Expand Up @@ -47,8 +47,8 @@ public function testFormServiceProviderWillLoadTypes()
return $extensions;
}));

$form = $app['form.factory']->createBuilder('form', array())
->add('dummy', 'dummy')
$form = $app['form.factory']->createBuilder(class_exists('Symfony\Component\Form\Extension\Core\Type\RangeType') ? 'Symfony\Component\Form\Extension\Core\Type\FormType' : 'form', array())
->add('dummy', class_exists('Symfony\Component\Form\Extension\Core\Type\RangeType') ? 'Silex\Tests\Provider\DummyFormType' : 'dummy')
->getForm();

$this->assertInstanceOf('Symfony\Component\Form\Form', $form);
Expand All @@ -66,8 +66,8 @@ public function testFormServiceProviderWillLoadTypeExtensions()
return $extensions;
}));

$form = $app['form.factory']->createBuilder('form', array())
->add('file', 'file', array('image_path' => 'webPath'))
$form = $app['form.factory']->createBuilder(class_exists('Symfony\Component\Form\Extension\Core\Type\RangeType') ? 'Symfony\Component\Form\Extension\Core\Type\FormType' : 'form', array())
->add('file', class_exists('Symfony\Component\Form\Extension\Core\Type\RangeType') ? 'Symfony\Component\Form\Extension\Core\Type\FileType' : 'file', array('image_path' => 'webPath'))
->getForm();

$this->assertInstanceOf('Symfony\Component\Form\Form', $form);
Expand Down Expand Up @@ -107,7 +107,7 @@ public function testFormServiceProviderWillUseTranslatorIfAvailable()
return new FakeCsrfProvider();
});

$form = $app['form.factory']->createBuilder('form', array())
$form = $app['form.factory']->createBuilder(class_exists('Symfony\Component\Form\Extension\Core\Type\RangeType') ? 'Symfony\Component\Form\Extension\Core\Type\FormType' : 'form', array())
->getForm();

$form->handleRequest($req = Request::create('/', 'POST', array('form' => array(
Expand Down Expand Up @@ -147,14 +147,20 @@ public function testFormServiceProviderWillNotAddNonexistentTranslationFiles()
}
}

class DummyFormType extends AbstractType
{
/**
* @return string The name of this type
*/
public function getName()
if (class_exists('Symfony\Component\Form\Extension\Core\Type\RangeType')) {
class DummyFormType extends AbstractType
{
}
} else {
class DummyFormType extends AbstractType
{
return 'dummy';
/**
* @return string The name of this type
*/
public function getName()
{
return 'dummy';
}
}
}

Expand All @@ -163,7 +169,7 @@ class DummyFormTypeExtension extends AbstractTypeExtension
{
public function getExtendedType()
{
return 'file';
return class_exists('Symfony\Component\Form\Extension\Core\Type\RangeType') ? 'Symfony\Component\Form\Extension\Core\Type\FileType' : 'file';
}

public function configureOptions(OptionsResolver $resolver)
Expand All @@ -176,7 +182,7 @@ class DummyFormTypeExtension extends AbstractTypeExtension
{
public function getExtendedType()
{
return 'file';
return class_exists('Symfony\Component\Form\Extension\Core\Type\RangeType') ? 'Symfony\Component\Form\Extension\Core\Type\FileType' : 'file';
}

public function setDefaultOptions(OptionsResolverInterface $resolver)
Expand Down
10 changes: 5 additions & 5 deletions tests/Silex/Tests/Provider/ValidatorServiceProviderTest.php
Expand Up @@ -88,7 +88,7 @@ public function testValidatorServiceIsAValidator($app)

/**
* @depends testRegister
* @dataProvider testValidatorConstraintProvider
* @dataProvider getTestValidatorConstraintProvider
*/
public function testValidatorConstraint($email, $isValid, $nbGlobalError, $nbEmailError, $app)
{
Expand All @@ -102,13 +102,13 @@ public function testValidatorConstraint($email, $isValid, $nbGlobalError, $nbEma
),
));

$builder = $app['form.factory']->createBuilder('form', array(), array(
$builder = $app['form.factory']->createBuilder(class_exists('Symfony\Component\Form\Extension\Core\Type\RangeType') ? 'Symfony\Component\Form\Extension\Core\Type\FormType' : 'form', array(), array(
'constraints' => $constraints,
'csrf_protection' => false,
));

$form = $builder
->add('email', 'email', array('label' => 'Email'))
->add('email', class_exists('Symfony\Component\Form\Extension\Core\Type\RangeType') ? 'Symfony\Component\Form\Extension\Core\Type\EmailType' : 'email', array('label' => 'Email'))
->getForm()
;

Expand Down Expand Up @@ -140,9 +140,9 @@ public function testValidatorWillNotAddNonexistentTranslationFiles()
}
}

public function testValidatorConstraintProvider()
public function getTestValidatorConstraintProvider()
{
// Email, form is valid , nb global error, nb email error
// Email, form is valid, nb global error, nb email error
return array(
array('', false, 0, 1),
array('not an email', false, 0, 1),
Expand Down

0 comments on commit 780ab69

Please sign in to comment.