1
0
mirror of synced 2025-01-19 23:11:41 +03:00

Merge pull request #1063 from FlorianLB/master

singularize variable name on add/remove methods for EntityGenerator
This commit is contained in:
Guilherme Blanco 2014-06-21 08:49:53 -04:00
commit 381cf8022f
2 changed files with 12 additions and 2 deletions

View File

@ -1149,8 +1149,10 @@ public function __construct()
protected function generateEntityStubMethod(ClassMetadataInfo $metadata, $type, $fieldName, $typeHint = null, $defaultValue = null) protected function generateEntityStubMethod(ClassMetadataInfo $metadata, $type, $fieldName, $typeHint = null, $defaultValue = null)
{ {
$methodName = $type . Inflector::classify($fieldName); $methodName = $type . Inflector::classify($fieldName);
$variableName = Inflector::camelize($fieldName);
if (in_array($type, array("add", "remove"))) { if (in_array($type, array("add", "remove"))) {
$methodName = Inflector::singularize($methodName); $methodName = Inflector::singularize($methodName);
$variableName = Inflector::singularize($variableName);
} }
if ($this->hasMethod($methodName, $metadata)) { if ($this->hasMethod($methodName, $metadata)) {
@ -1171,10 +1173,10 @@ public function __construct()
} }
$replacements = array( $replacements = array(
'<description>' => ucfirst($type) . ' ' . $fieldName, '<description>' => ucfirst($type) . ' ' . $variableName,
'<methodTypeHint>' => $methodTypeHint, '<methodTypeHint>' => $methodTypeHint,
'<variableType>' => $variableType, '<variableType>' => $variableType,
'<variableName>' => Inflector::camelize($fieldName), '<variableName>' => $variableName,
'<methodName>' => $methodName, '<methodName>' => $methodName,
'<fieldName>' => $fieldName, '<fieldName>' => $fieldName,
'<variableDefault>' => ($defaultValue !== null ) ? (' = '.$defaultValue) : '', '<variableDefault>' => ($defaultValue !== null ) ? (' = '.$defaultValue) : '',

View File

@ -133,6 +133,14 @@ class EntityGeneratorTest extends \Doctrine\Tests\OrmTestCase
$book->setName('Jonathan H. Wage'); $book->setName('Jonathan H. Wage');
$this->assertEquals('Jonathan H. Wage', $book->getName()); $this->assertEquals('Jonathan H. Wage', $book->getName());
$reflMethod = new \ReflectionMethod($metadata->name, 'addComment');
$addCommentParameters = $reflMethod->getParameters();
$this->assertEquals('comment', $addCommentParameters[0]->getName());
$reflMethod = new \ReflectionMethod($metadata->name, 'removeComment');
$removeCommentParameters = $reflMethod->getParameters();
$this->assertEquals('comment', $removeCommentParameters[0]->getName());
$author = new EntityGeneratorAuthor(); $author = new EntityGeneratorAuthor();
$book->setAuthor($author); $book->setAuthor($author);
$this->assertEquals($author, $book->getAuthor()); $this->assertEquals($author, $book->getAuthor());