Skip to content

Commit

Permalink
Updated type guessers to use FQCNs for guessed types
Browse files Browse the repository at this point in the history
  • Loading branch information
hiddewie authored and Tobion committed Oct 26, 2015
1 parent 3e38e64 commit e871db7
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 35 deletions.
24 changes: 12 additions & 12 deletions src/Symfony/Bridge/Doctrine/Form/DoctrineOrmTypeGuesser.php
Expand Up @@ -39,7 +39,7 @@ public function __construct(ManagerRegistry $registry)
public function guessType($class, $property)
{
if (!$ret = $this->getMetadata($class)) {
return new TypeGuess('text', array(), Guess::LOW_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\TextType', array(), Guess::LOW_CONFIDENCE);
}

list($metadata, $name) = $ret;
Expand All @@ -48,35 +48,35 @@ public function guessType($class, $property)
$multiple = $metadata->isCollectionValuedAssociation($property);
$mapping = $metadata->getAssociationMapping($property);

return new TypeGuess('entity', array('em' => $name, 'class' => $mapping['targetEntity'], 'multiple' => $multiple), Guess::HIGH_CONFIDENCE);
return new TypeGuess('Symfony\Bridge\Doctrine\Form\Type\EntityType', array('em' => $name, 'class' => $mapping['targetEntity'], 'multiple' => $multiple), Guess::HIGH_CONFIDENCE);
}

switch ($metadata->getTypeOfField($property)) {
case Type::TARRAY:
return new TypeGuess('collection', array(), Guess::MEDIUM_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\CollectionType', array(), Guess::MEDIUM_CONFIDENCE);
case Type::BOOLEAN:
return new TypeGuess('checkbox', array(), Guess::HIGH_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\CheckboxType', array(), Guess::HIGH_CONFIDENCE);
case Type::DATETIME:
case Type::DATETIMETZ:
case 'vardatetime':
return new TypeGuess('datetime', array(), Guess::HIGH_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\DateTimeType', array(), Guess::HIGH_CONFIDENCE);
case Type::DATE:
return new TypeGuess('date', array(), Guess::HIGH_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\DateType', array(), Guess::HIGH_CONFIDENCE);
case Type::TIME:
return new TypeGuess('time', array(), Guess::HIGH_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\TimeType', array(), Guess::HIGH_CONFIDENCE);
case Type::DECIMAL:
case Type::FLOAT:
return new TypeGuess('number', array(), Guess::MEDIUM_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\NumberType', array(), Guess::MEDIUM_CONFIDENCE);
case Type::INTEGER:
case Type::BIGINT:
case Type::SMALLINT:
return new TypeGuess('integer', array(), Guess::MEDIUM_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\IntegerType', array(), Guess::MEDIUM_CONFIDENCE);
case Type::STRING:
return new TypeGuess('text', array(), Guess::MEDIUM_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\TextType', array(), Guess::MEDIUM_CONFIDENCE);
case Type::TEXT:
return new TypeGuess('textarea', array(), Guess::MEDIUM_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\TextareaType', array(), Guess::MEDIUM_CONFIDENCE);
default:
return new TypeGuess('text', array(), Guess::LOW_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\TextType', array(), Guess::LOW_CONFIDENCE);
}
}

Expand Down
Expand Up @@ -91,79 +91,79 @@ public function guessTypeForConstraint(Constraint $constraint)
case 'Symfony\Component\Validator\Constraints\Type':
switch ($constraint->type) {
case 'array':
return new TypeGuess('collection', array(), Guess::MEDIUM_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\CollectionType', array(), Guess::MEDIUM_CONFIDENCE);
case 'boolean':
case 'bool':
return new TypeGuess('checkbox', array(), Guess::MEDIUM_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\CheckboxType', array(), Guess::MEDIUM_CONFIDENCE);

case 'double':
case 'float':
case 'numeric':
case 'real':
return new TypeGuess('number', array(), Guess::MEDIUM_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\NumberType', array(), Guess::MEDIUM_CONFIDENCE);

case 'integer':
case 'int':
case 'long':
return new TypeGuess('integer', array(), Guess::MEDIUM_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\IntegerType', array(), Guess::MEDIUM_CONFIDENCE);

case '\DateTime':
return new TypeGuess('date', array(), Guess::MEDIUM_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\DateType', array(), Guess::MEDIUM_CONFIDENCE);

case 'string':
return new TypeGuess('text', array(), Guess::LOW_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\TextType', array(), Guess::LOW_CONFIDENCE);
}
break;

case 'Symfony\Component\Validator\Constraints\Country':
return new TypeGuess('country', array(), Guess::HIGH_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\CountryType', array(), Guess::HIGH_CONFIDENCE);

case 'Symfony\Component\Validator\Constraints\Currency':
return new TypeGuess('currency', array(), Guess::HIGH_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\CurrencyType', array(), Guess::HIGH_CONFIDENCE);

case 'Symfony\Component\Validator\Constraints\Date':
return new TypeGuess('date', array('input' => 'string'), Guess::HIGH_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\DateType', array('input' => 'string'), Guess::HIGH_CONFIDENCE);

case 'Symfony\Component\Validator\Constraints\DateTime':
return new TypeGuess('datetime', array('input' => 'string'), Guess::HIGH_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\DateTimeType', array('input' => 'string'), Guess::HIGH_CONFIDENCE);

case 'Symfony\Component\Validator\Constraints\Email':
return new TypeGuess('email', array(), Guess::HIGH_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\EmailType', array(), Guess::HIGH_CONFIDENCE);

case 'Symfony\Component\Validator\Constraints\File':
case 'Symfony\Component\Validator\Constraints\Image':
return new TypeGuess('file', array(), Guess::HIGH_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\FileType', array(), Guess::HIGH_CONFIDENCE);

case 'Symfony\Component\Validator\Constraints\Language':
return new TypeGuess('language', array(), Guess::HIGH_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\LanguageType', array(), Guess::HIGH_CONFIDENCE);

case 'Symfony\Component\Validator\Constraints\Locale':
return new TypeGuess('locale', array(), Guess::HIGH_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\LocaleType', array(), Guess::HIGH_CONFIDENCE);

case 'Symfony\Component\Validator\Constraints\Time':
return new TypeGuess('time', array('input' => 'string'), Guess::HIGH_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\TimeType', array('input' => 'string'), Guess::HIGH_CONFIDENCE);

case 'Symfony\Component\Validator\Constraints\Url':
return new TypeGuess('url', array(), Guess::HIGH_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\UrlType', array(), Guess::HIGH_CONFIDENCE);

case 'Symfony\Component\Validator\Constraints\Ip':
return new TypeGuess('text', array(), Guess::MEDIUM_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\TextType', array(), Guess::MEDIUM_CONFIDENCE);

case 'Symfony\Component\Validator\Constraints\Length':
case 'Symfony\Component\Validator\Constraints\Regex':
return new TypeGuess('text', array(), Guess::LOW_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\TextType', array(), Guess::LOW_CONFIDENCE);

case 'Symfony\Component\Validator\Constraints\Range':
return new TypeGuess('number', array(), Guess::LOW_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\NumberType', array(), Guess::LOW_CONFIDENCE);

case 'Symfony\Component\Validator\Constraints\Count':
return new TypeGuess('collection', array(), Guess::LOW_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\CollectionType', array(), Guess::LOW_CONFIDENCE);

case 'Symfony\Component\Validator\Constraints\True':
case 'Symfony\Component\Validator\Constraints\False':
case 'Symfony\Component\Validator\Constraints\IsTrue':
case 'Symfony\Component\Validator\Constraints\IsFalse':
return new TypeGuess('checkbox', array(), Guess::MEDIUM_CONFIDENCE);
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\CheckboxType', array(), Guess::MEDIUM_CONFIDENCE);
}
}

Expand Down
4 changes: 2 additions & 2 deletions src/Symfony/Component/Form/Tests/FormFactoryTest.php
Expand Up @@ -585,7 +585,7 @@ public function testCreateBuilderForPropertyCreatesFormWithHighestConfidence()
->method('guessType')
->with('Application\Author', 'firstName')
->will($this->returnValue(new TypeGuess(
'password',
'Symfony\Component\Form\Extension\Core\Type\PasswordType',
array('attr' => array('maxlength' => 7)),
Guess::HIGH_CONFIDENCE
)));
Expand All @@ -594,7 +594,7 @@ public function testCreateBuilderForPropertyCreatesFormWithHighestConfidence()

$factory->expects($this->once())
->method('createNamedBuilder')
->with('firstName', 'password', null, array('attr' => array('maxlength' => 7)))
->with('firstName', 'Symfony\Component\Form\Extension\Core\Type\PasswordType', null, array('attr' => array('maxlength' => 7)))
->will($this->returnValue('builderInstance'));

$this->builder = $factory->createBuilderForProperty('Application\Author', 'firstName');
Expand Down

0 comments on commit e871db7

Please sign in to comment.