1
0
mirror of synced 2025-02-09 08:49:26 +03:00

- fixed columnPrefix generator for the embedded annotation

This commit is contained in:
Artem Stepin 2017-06-09 22:25:19 +02:00
parent 351b6972a4
commit 799190d5e4
2 changed files with 24 additions and 7 deletions

View File

@ -1732,7 +1732,11 @@ public function __construct(<params>)
$embedded = ['class="' . $embeddedClass['class'] . '"'];
if (isset($embeddedClass['columnPrefix'])) {
$embedded[] = 'columnPrefix=' . var_export($embeddedClass['columnPrefix'], true);
if (is_string($embeddedClass['columnPrefix'])) {
$embedded[] = 'columnPrefix="' . $embeddedClass['columnPrefix'] . '"';
} else {
$embedded[] = 'columnPrefix=' . var_export($embeddedClass['columnPrefix'], true);
}
}
$lines[] = $this->spaces . ' * @' .

View File

@ -227,21 +227,34 @@ class EntityGeneratorTest extends OrmTestCase
/**
* @group GH-6314
*/
public function testEmbeddedEntityWithColumnPrefix()
public function testEmbeddedEntityWithNamedColumnPrefix()
{
$columnPrefix = 'GH6314Prefix_';
$testMetadata = $this->generateTestEmbeddableFixture();
$isbnMetadata = $this->generateIsbnEmbeddableFixture(['testEmbedded' => $testMetadata], 'prefix');
$isbnMetadata = $this->generateIsbnEmbeddableFixture(['testEmbedded' => $testMetadata], $columnPrefix);
$isbnEntity = $this->newInstance($isbnMetadata);
$refClass = new \ReflectionClass($isbnEntity);
self::assertTrue($refClass->hasProperty('testEmbedded'));
$docComment = $refClass->getProperty('testEmbedded')->getDocComment();
$needle = sprintf('@Embedded(class="%s", columnPrefix="%s")', $testMetadata->name, $columnPrefix);
self::assertContains($needle, $docComment);
}
/**
* @group GH-6314
*/
public function testEmbeddedEntityWithoutColumnPrefix()
{
$testMetadata = $this->generateTestEmbeddableFixture();
$isbnMetadata = $this->generateIsbnEmbeddableFixture(['testEmbedded' => $testMetadata], false);
$isbnEntity = $this->newInstance($isbnMetadata);
$refClass = new \ReflectionClass($isbnEntity);
self::assertTrue($refClass->hasProperty('testEmbedded'));
$docComment = $refClass->getProperty('testEmbedded')->getDocComment();
$needle = sprintf('@Embedded(class="%s", columnPrefix=\'%s\')', $testMetadata->name,'prefix');
$needle = sprintf('@Embedded(class="%s", columnPrefix=false)', $testMetadata->name);
self::assertContains($needle, $docComment);
}
public function testGeneratedEntityClass()