Rajout de doctrine/orm
[zf2.biz/application_blanche.git] / vendor / doctrine / orm / tests / Doctrine / Tests / ORM / Mapping / ClassMetadataLoadEventTest.php
diff --git a/vendor/doctrine/orm/tests/Doctrine/Tests/ORM/Mapping/ClassMetadataLoadEventTest.php b/vendor/doctrine/orm/tests/Doctrine/Tests/ORM/Mapping/ClassMetadataLoadEventTest.php
new file mode 100644 (file)
index 0000000..70aae70
--- /dev/null
@@ -0,0 +1,56 @@
+<?php
+
+namespace Doctrine\Tests\ORM\Mapping;
+
+use Doctrine\ORM\Mapping\ClassMetadata;
+use Doctrine\ORM\Events;
+
+require_once __DIR__ . '/../../TestInit.php';
+
+class ClassMetadataLoadEventTest extends \Doctrine\Tests\OrmTestCase
+{
+    /**
+     * @group DDC-1610
+     */
+    public function testEvent()
+    {
+        $em = $this->_getTestEntityManager();
+        $metadataFactory = $em->getMetadataFactory();
+        $evm = $em->getEventManager();
+        $evm->addEventListener(Events::loadClassMetadata, $this);
+        $classMetadata = $metadataFactory->getMetadataFor('Doctrine\Tests\ORM\Mapping\LoadEventTestEntity');
+        $this->assertTrue($classMetadata->hasField('about'));
+        $this->assertArrayHasKey('about', $classMetadata->reflFields);
+        $this->assertInstanceOf('ReflectionProperty', $classMetadata->reflFields['about']);
+    }
+
+    public function loadClassMetadata(\Doctrine\ORM\Event\LoadClassMetadataEventArgs $eventArgs)
+    {
+        $classMetadata = $eventArgs->getClassMetadata();
+        $field = array(
+            'fieldName' => 'about',
+            'type' => 'string',
+            'length' => 255
+        );
+        $classMetadata->mapField($field);
+    }
+}
+
+/**
+ * @Entity
+ * @Table(name="load_event_test_entity")
+ */
+class LoadEventTestEntity
+{
+    /**
+     * @Id @Column(type="integer")
+     * @GeneratedValue(strategy="AUTO")
+     */
+    private $id;
+    /**
+     * @Column(type="string", length=255)
+     */
+    private $name;
+
+    private $about;
+}