Merge pull request #670 from FabioBatSilva/DDC-2451
[DDC-2451] Fix entity listeners serialization
This commit is contained in:
commit
65886fdfea
@ -831,6 +831,10 @@ class ClassMetadataInfo implements ClassMetadata
|
|||||||
$serialized[] = 'lifecycleCallbacks';
|
$serialized[] = 'lifecycleCallbacks';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($this->entityListeners) {
|
||||||
|
$serialized[] = 'entityListeners';
|
||||||
|
}
|
||||||
|
|
||||||
if ($this->namedQueries) {
|
if ($this->namedQueries) {
|
||||||
$serialized[] = 'namedQueries';
|
$serialized[] = 'namedQueries';
|
||||||
}
|
}
|
||||||
|
@ -714,6 +714,23 @@ class ClassMetadataTest extends \Doctrine\Tests\OrmTestCase
|
|||||||
$this->assertEquals(1, count($cm->getNamedNativeQueries()));
|
$this->assertEquals(1, count($cm->getNamedNativeQueries()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @group DDC-2451
|
||||||
|
*/
|
||||||
|
public function testSerializeEntityListeners()
|
||||||
|
{
|
||||||
|
$metadata = new ClassMetadata('Doctrine\Tests\Models\Company\CompanyContract');
|
||||||
|
|
||||||
|
$metadata->initializeReflection(new \Doctrine\Common\Persistence\Mapping\RuntimeReflectionService);
|
||||||
|
$metadata->addEntityListener(\Doctrine\ORM\Events::prePersist, 'CompanyContractListener', 'prePersistHandler');
|
||||||
|
$metadata->addEntityListener(\Doctrine\ORM\Events::postPersist, 'CompanyContractListener', 'postPersistHandler');
|
||||||
|
|
||||||
|
$serialize = serialize($metadata);
|
||||||
|
$unserialize = unserialize($serialize);
|
||||||
|
|
||||||
|
$this->assertEquals($metadata->entityListeners, $unserialize->entityListeners);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @expectedException \Doctrine\ORM\Mapping\MappingException
|
* @expectedException \Doctrine\ORM\Mapping\MappingException
|
||||||
* @expectedExceptionMessage Query named "userById" in "Doctrine\Tests\Models\CMS\CmsUser" was already declared, but it must be declared only once
|
* @expectedExceptionMessage Query named "userById" in "Doctrine\Tests\Models\CMS\CmsUser" was already declared, but it must be declared only once
|
||||||
|
Loading…
x
Reference in New Issue
Block a user