1
0
mirror of synced 2025-03-22 07:53:49 +03:00

Merge pull request #670 from FabioBatSilva/DDC-2451

[DDC-2451] Fix entity listeners serialization
This commit is contained in:
Benjamin Eberlei 2013-05-17 08:09:28 -07:00
commit 65886fdfea
2 changed files with 21 additions and 0 deletions

View File

@ -831,6 +831,10 @@ class ClassMetadataInfo implements ClassMetadata
$serialized[] = 'lifecycleCallbacks';
}
if ($this->entityListeners) {
$serialized[] = 'entityListeners';
}
if ($this->namedQueries) {
$serialized[] = 'namedQueries';
}

View File

@ -714,6 +714,23 @@ class ClassMetadataTest extends \Doctrine\Tests\OrmTestCase
$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
* @expectedExceptionMessage Query named "userById" in "Doctrine\Tests\Models\CMS\CmsUser" was already declared, but it must be declared only once