1
0
mirror of synced 2025-02-10 17:29:27 +03:00

Add failing test for gh-#6314 (gh-#6356)

This commit is contained in:
Artem Stepin 2017-06-08 23:18:47 +02:00
parent 049ad1e079
commit 7a63e81c94

View File

@ -119,7 +119,7 @@ class EntityGeneratorTest extends OrmTestCase
/** /**
* @return ClassMetadataInfo * @return ClassMetadataInfo
*/ */
private function generateIsbnEmbeddableFixture(array $embeddedClasses = []) private function generateIsbnEmbeddableFixture(array $embeddedClasses = [], $columnPrefix = null)
{ {
$metadata = new ClassMetadataInfo($this->_namespace . '\EntityGeneratorIsbn'); $metadata = new ClassMetadataInfo($this->_namespace . '\EntityGeneratorIsbn');
$metadata->namespace = $this->_namespace; $metadata->namespace = $this->_namespace;
@ -131,7 +131,7 @@ class EntityGeneratorTest extends OrmTestCase
$metadata->mapField(['fieldName' => 'checkDigit', 'type' => 'integer']); $metadata->mapField(['fieldName' => 'checkDigit', 'type' => 'integer']);
foreach ($embeddedClasses as $fieldName => $embeddedClass) { foreach ($embeddedClasses as $fieldName => $embeddedClass) {
$this->mapEmbedded($fieldName, $metadata, $embeddedClass); $this->mapEmbedded($fieldName, $metadata, $embeddedClass, $columnPrefix);
} }
$this->_generator->writeEntityClass($metadata, $this->_tmpDir); $this->_generator->writeEntityClass($metadata, $this->_tmpDir);
@ -224,6 +224,26 @@ class EntityGeneratorTest extends OrmTestCase
return new $metadata->name; 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() public function testGeneratedEntityClass()
{ {
$testMetadata = $this->generateTestEmbeddableFixture(); $testMetadata = $this->generateTestEmbeddableFixture();