3 namespace Doctrine\Tests\ORM\Mapping;
5 use Doctrine\ORM\Mapping\ClassMetadata;
6 use Doctrine\ORM\Events;
8 require_once __DIR__ . '/../../TestInit.php';
10 class ClassMetadataLoadEventTest extends \Doctrine\Tests\OrmTestCase
15 public function testEvent()
17 $em = $this->_getTestEntityManager();
18 $metadataFactory = $em->getMetadataFactory();
19 $evm = $em->getEventManager();
20 $evm->addEventListener(Events::loadClassMetadata, $this);
21 $classMetadata = $metadataFactory->getMetadataFor('Doctrine\Tests\ORM\Mapping\LoadEventTestEntity');
22 $this->assertTrue($classMetadata->hasField('about'));
23 $this->assertArrayHasKey('about', $classMetadata->reflFields);
24 $this->assertInstanceOf('ReflectionProperty', $classMetadata->reflFields['about']);
27 public function loadClassMetadata(\Doctrine\ORM\Event\LoadClassMetadataEventArgs $eventArgs)
29 $classMetadata = $eventArgs->getClassMetadata();
31 'fieldName' => 'about',
35 $classMetadata->mapField($field);
41 * @Table(name="load_event_test_entity")
43 class LoadEventTestEntity
46 * @Id @Column(type="integer")
47 * @GeneratedValue(strategy="AUTO")
51 * @Column(type="string", length=255)