From f6907b95032e0af3875d802405e432d47df7578c Mon Sep 17 00:00:00 2001 From: Alessandro Frangioni <> Date: Mon, 12 Jun 2017 15:40:14 +0200 Subject: [PATCH] Applied patches as for #6496 --- .../ORM/Functional/Ticket/GH5804Test.php | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 tests/Doctrine/Tests/ORM/Functional/Ticket/GH5804Test.php diff --git a/tests/Doctrine/Tests/ORM/Functional/Ticket/GH5804Test.php b/tests/Doctrine/Tests/ORM/Functional/Ticket/GH5804Test.php new file mode 100644 index 000000000..6d877711d --- /dev/null +++ b/tests/Doctrine/Tests/ORM/Functional/Ticket/GH5804Test.php @@ -0,0 +1,108 @@ +_schemaTool->createSchema( + [$this->_em->getClassMetadata(GH5804Article::class)] + ); + } + + public function testTextColumnSaveAndRetrieve2() + { + $firstArticle = new GH5804Article; + $firstArticle->text = 'Max'; + $this->_em->persist($firstArticle); + $this->_em->flush(); + + self::assertSame(1, $firstArticle->version); + + $firstArticle->text = 'Moritz'; + $this->_em->persist($firstArticle); + $this->_em->flush(); + + self::assertSame(2, $firstArticle->version); + } +} + +final class GH5804Generator extends AbstractIdGenerator +{ + /** + * {@inheritdoc} + */ + public function generate(EntityManager $em, $entity) + { + return 'test5804'; + } +} + +final class GH5804Type extends Type +{ + const NAME = 'GH5804Type'; + + public function getName() + { + return self::NAME; + } + + /** + * {@inheritdoc} + */ + public function getSQLDeclaration(array $fieldDeclaration, AbstractPlatform $platform) + { + return $platform->getGuidTypeDeclarationSQL($fieldDeclaration); + } + + /** + * {@inheritdoc} + */ + public function convertToDatabaseValue($value, AbstractPlatform $platform) + { + if (empty($value)) { + return null; + } + + return 'testGh5804DbValue'; + } +} + +/** + * @Entity + * @Table(name="gh5804_articles") + */ +class GH5804Article +{ + /** + * @Id + * @Column(type="GH5804Type") + * @GeneratedValue(strategy="CUSTOM") + * @CustomIdGenerator(class=\Doctrine\Tests\ORM\Functional\Ticket\GH5804Generator::class) + */ + public $id; + /** + * @Version + * @Column(type="integer") + */ + public $version; + + /** + * @Column(type="text") + */ + public $text; +}