From 321fc2506de968fa72c35f585a9fab14ed3c3408 Mon Sep 17 00:00:00 2001 From: Christian Heinrich Date: Tue, 22 Jun 2010 20:24:05 +0200 Subject: [PATCH] Fixed #DDC-647 Added missing length element DBAL-647 - Added test to check for length of string type in all mapping drivers --- .../ORM/Mapping/Driver/YamlDriver.php | 6 ++++- .../ORM/Mapping/AbstractMappingDriverTest.php | 24 ++++++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php b/lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php index 05a3fe125..79c659814 100644 --- a/lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php +++ b/lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php @@ -147,6 +147,10 @@ class YamlDriver extends AbstractFileDriver $mapping['columnName'] = $idElement['column']; } + if (isset($idElement['length'])) { + $mapping['length'] = $idElement['length']; + } + $metadata->mapField($mapping); if (isset($idElement['generator'])) { @@ -443,4 +447,4 @@ class YamlDriver extends AbstractFileDriver { return \Symfony\Components\Yaml\Yaml::load($file); } -} \ No newline at end of file +} diff --git a/tests/Doctrine/Tests/ORM/Mapping/AbstractMappingDriverTest.php b/tests/Doctrine/Tests/ORM/Mapping/AbstractMappingDriverTest.php index 858a00eba..b279905ce 100644 --- a/tests/Doctrine/Tests/ORM/Mapping/AbstractMappingDriverTest.php +++ b/tests/Doctrine/Tests/ORM/Mapping/AbstractMappingDriverTest.php @@ -96,10 +96,32 @@ abstract class AbstractMappingDriverTest extends \Doctrine\Tests\OrmTestCase $this->assertTrue(isset($class->fieldMappings['name'])); $this->assertTrue(isset($class->fieldMappings['email'])); + return $class; + } + + /** + * @depends testEntityTableNameAndInheritance + * @param ClassMetadata $class + */ + public function testFieldMappingsColumnNames($class) + { + $this->assertEquals("id", $class->fieldMappings['id']['columnName']); + $this->assertEquals("name", $class->fieldMappings['name']['columnName']); + $this->assertEquals("user_email", $class->fieldMappings['email']['columnName']); + + return $class; + } + + /** + * @depends testEntityTableNameAndInheritance + * @param ClassMetadata $class + */ + public function testStringFieldMappings($class) + { $this->assertEquals('string', $class->fieldMappings['name']['type']); + $this->assertEquals(50, $class->fieldMappings['name']['length']); $this->assertTrue($class->fieldMappings['name']['nullable']); $this->assertTrue($class->fieldMappings['name']['unique']); - $this->assertEquals("user_email", $class->fieldMappings['email']['columnName']); return $class; }