1
0
mirror of synced 2025-02-02 13:31:45 +03:00

#5689 moved OidReuseTest contents into the UnitOfWork tests

This commit is contained in:
Marco Pivetta 2016-09-10 20:15:33 +02:00
parent a3d93afc4f
commit e73428a051

View File

@ -12,6 +12,8 @@ use Doctrine\Tests\Mocks\DriverMock;
use Doctrine\Tests\Mocks\EntityManagerMock;
use Doctrine\Tests\Mocks\EntityPersisterMock;
use Doctrine\Tests\Mocks\UnitOfWorkMock;
use Doctrine\Tests\Models\CMS\CmsPhonenumber;
use Doctrine\Tests\Models\CMS\CmsUser;
use Doctrine\Tests\Models\Forum\ForumAvatar;
use Doctrine\Tests\Models\Forum\ForumUser;
use Doctrine\Tests\Models\GeoNames\City;
@ -362,6 +364,38 @@ class UnitOfWorkTest extends \Doctrine\Tests\OrmTestCase
[new ArrayCollection()],
];
}
/**
* @group 5689
* @group 1465
*/
public function testObjectHashesOfMergedEntitiesAreNotUsedInOriginalEntityDataMap()
{
$reflectionOriginalEntityData = new \ReflectionProperty('Doctrine\ORM\UnitOfWork', 'originalEntityData');
$reflectionOriginalEntityData->setAccessible(true);
$user = new CmsUser();
$user->name = 'ocramius';
$mergedUser = $this->_unitOfWork->merge($user);
self::assertSame([], $this->_unitOfWork->getOriginalEntityData($user), 'No original data was stored');
self::assertSame([], $this->_unitOfWork->getOriginalEntityData($mergedUser), 'No original data was stored');
$user = null;
$mergedUser = null;
// force garbage collection of $user (frees the used object hashes, which may be recycled)
gc_collect_cycles();
$newUser = new CmsUser();
$newUser->name = 'ocramius';
$this->_unitOfWork->persist($newUser);
self::assertSame([], $this->_unitOfWork->getOriginalEntityData($newUser), 'No original data was stored');
}
}
/**