From 0329ac50740d577816660b3f478cffdd72b48459 Mon Sep 17 00:00:00 2001 From: Marco Pivetta Date: Fri, 16 Jan 2015 21:14:13 +0100 Subject: [PATCH] #1172 - covering also detached proxies - merging operations should not initialize either proxy --- .../MergeUninitializedProxyTest.php | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/tests/Doctrine/Tests/ORM/Functional/MergeUninitializedProxyTest.php b/tests/Doctrine/Tests/ORM/Functional/MergeUninitializedProxyTest.php index ae5fa5f5a..d0b8036cb 100644 --- a/tests/Doctrine/Tests/ORM/Functional/MergeUninitializedProxyTest.php +++ b/tests/Doctrine/Tests/ORM/Functional/MergeUninitializedProxyTest.php @@ -22,16 +22,35 @@ class MergeUninitializedProxyTest extends \Doctrine\Tests\OrmFunctionalTestCase } } + public function testMergeDetachedUnInitializedProxy() + { + $detachedUninitialized = $this->_em->getReference(MUPFile::CLASSNAME, 123); + + $this->_em->clear(); + + $managed = $this->_em->getReference(MUPFile::CLASSNAME, 123); + + $this->assertSame($managed, $this->_em->merge($detachedUninitialized)); + + $this->assertFalse($managed->__isInitialized()); + $this->assertFalse($detachedUninitialized->__isInitialized()); + } + public function testMergeUnserializedUnInitializedProxy() { $detachedUninitialized = $this->_em->getReference(MUPFile::CLASSNAME, 123); $this->_em->clear(); + $managed = $this->_em->getReference(MUPFile::CLASSNAME, 123); + $this->assertSame( - $this->_em->getReference(MUPFile::CLASSNAME, 123), - $this->_em->merge(unserialize(serialize($detachedUninitialized))) + $managed, + $this->_em->merge(unserialize(serialize($this->_em->merge($detachedUninitialized)))) ); + + $this->assertFalse($managed->__isInitialized()); + $this->assertFalse($detachedUninitialized->__isInitialized()); } public function testMergeUnserializedIntoEntity() {