Rajout de doctrine/orm
[zf2.biz/galerie.git] / vendor / doctrine / orm / tests / Doctrine / Tests / ORM / Mapping / ClassMetadataLoadEventTest.php
1 <?php
2
3 namespace Doctrine\Tests\ORM\Mapping;
4
5 use Doctrine\ORM\Mapping\ClassMetadata;
6 use Doctrine\ORM\Events;
7
8 require_once __DIR__ . '/../../TestInit.php';
9
10 class ClassMetadataLoadEventTest extends \Doctrine\Tests\OrmTestCase
11 {
12     /**
13      * @group DDC-1610
14      */
15     public function testEvent()
16     {
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']);
25     }
26
27     public function loadClassMetadata(\Doctrine\ORM\Event\LoadClassMetadataEventArgs $eventArgs)
28     {
29         $classMetadata = $eventArgs->getClassMetadata();
30         $field = array(
31             'fieldName' => 'about',
32             'type' => 'string',
33             'length' => 255
34         );
35         $classMetadata->mapField($field);
36     }
37 }
38
39 /**
40  * @Entity
41  * @Table(name="load_event_test_entity")
42  */
43 class LoadEventTestEntity
44 {
45     /**
46      * @Id @Column(type="integer")
47      * @GeneratedValue(strategy="AUTO")
48      */
49     private $id;
50     /**
51      * @Column(type="string", length=255)
52      */
53     private $name;
54
55     private $about;
56 }