From 7a63e81c9458adc486ae22ad57ee857eae89bbba Mon Sep 17 00:00:00 2001 From: Artem Stepin Date: Thu, 8 Jun 2017 23:18:47 +0200 Subject: [PATCH] Add failing test for gh-#6314 (gh-#6356) --- .../Tests/ORM/Tools/EntityGeneratorTest.php | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/tests/Doctrine/Tests/ORM/Tools/EntityGeneratorTest.php b/tests/Doctrine/Tests/ORM/Tools/EntityGeneratorTest.php index 5a9f451fe..35e19cf65 100644 --- a/tests/Doctrine/Tests/ORM/Tools/EntityGeneratorTest.php +++ b/tests/Doctrine/Tests/ORM/Tools/EntityGeneratorTest.php @@ -119,7 +119,7 @@ class EntityGeneratorTest extends OrmTestCase /** * @return ClassMetadataInfo */ - private function generateIsbnEmbeddableFixture(array $embeddedClasses = []) + private function generateIsbnEmbeddableFixture(array $embeddedClasses = [], $columnPrefix = null) { $metadata = new ClassMetadataInfo($this->_namespace . '\EntityGeneratorIsbn'); $metadata->namespace = $this->_namespace; @@ -131,7 +131,7 @@ class EntityGeneratorTest extends OrmTestCase $metadata->mapField(['fieldName' => 'checkDigit', 'type' => 'integer']); foreach ($embeddedClasses as $fieldName => $embeddedClass) { - $this->mapEmbedded($fieldName, $metadata, $embeddedClass); + $this->mapEmbedded($fieldName, $metadata, $embeddedClass, $columnPrefix); } $this->_generator->writeEntityClass($metadata, $this->_tmpDir); @@ -224,6 +224,26 @@ class EntityGeneratorTest extends OrmTestCase return new $metadata->name; } + /** + * @group GH-6314 + */ + public function testEmbeddedEntityWithColumnPrefix() + { + $testMetadata = $this->generateTestEmbeddableFixture(); + $isbnMetadata = $this->generateIsbnEmbeddableFixture(['testEmbedded' => $testMetadata], 'prefix'); + $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'); + self::assertContains($needle, $docComment); + + } + public function testGeneratedEntityClass() { $testMetadata = $this->generateTestEmbeddableFixture();