Rajout de doctrine/orm
[zf2.biz/application_blanche.git] / vendor / doctrine / orm / tests / Doctrine / Tests / ORM / Functional / Ticket / DDC1404Test.php
diff --git a/vendor/doctrine/orm/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC1404Test.php b/vendor/doctrine/orm/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC1404Test.php
new file mode 100644 (file)
index 0000000..cc1d7c9
--- /dev/null
@@ -0,0 +1,129 @@
+<?php
+
+namespace Doctrine\Tests\ORM\Functional\Ticket;
+
+require_once __DIR__ . '/../../../TestInit.php';
+
+/**
+ * @group DDC-1404
+ */
+class DDC1404Test extends \Doctrine\Tests\OrmFunctionalTestCase
+{
+
+    protected function setUp()
+    {
+        parent::setUp();
+
+        try {
+            $this->_schemaTool->createSchema(array(
+                $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC1404ParentEntity'),
+                $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC1404ChildEntity'),
+            ));
+
+            $this->loadFixtures();
+
+        } catch (Exception $exc) {
+        }
+    }
+
+    public function testTicket()
+    {
+        $repository     = $this->_em->getRepository(__NAMESPACE__ . '\DDC1404ChildEntity');
+        $queryAll       = $repository->createNamedQuery('all');
+        $queryFirst     = $repository->createNamedQuery('first');
+        $querySecond    = $repository->createNamedQuery('second');
+
+
+        $this->assertEquals('SELECT p FROM Doctrine\Tests\ORM\Functional\Ticket\DDC1404ChildEntity p', $queryAll->getDQL());
+        $this->assertEquals('SELECT p FROM Doctrine\Tests\ORM\Functional\Ticket\DDC1404ChildEntity p WHERE p.id = 1', $queryFirst->getDQL());
+        $this->assertEquals('SELECT p FROM Doctrine\Tests\ORM\Functional\Ticket\DDC1404ChildEntity p WHERE p.id = 2', $querySecond->getDQL());
+
+
+        $this->assertEquals(sizeof($queryAll->getResult()), 2);
+        $this->assertEquals(sizeof($queryFirst->getResult()), 1);
+        $this->assertEquals(sizeof($querySecond->getResult()), 1);
+    }
+
+
+    public function loadFixtures()
+    {
+        $c1 = new DDC1404ChildEntity("ChildEntity 1");
+        $c2 = new DDC1404ChildEntity("ChildEntity 2");
+
+        $this->_em->persist($c1);
+        $this->_em->persist($c2);
+
+        $this->_em->flush();
+    }
+
+}
+
+/**
+ * @MappedSuperclass
+ *
+ * @NamedQueries({
+ *      @NamedQuery(name="all",     query="SELECT p FROM __CLASS__ p"),
+ *      @NamedQuery(name="first",   query="SELECT p FROM __CLASS__ p WHERE p.id = 1"),
+ * })
+ */
+class DDC1404ParentEntity
+{
+
+    /**
+     * @Id
+     * @Column(type="integer")
+     * @GeneratedValue()
+     */
+    protected $id;
+
+    /**
+     * @return integer
+     */
+    public function getId()
+    {
+        return $this->id;
+    }
+
+}
+
+/**
+ * @Entity
+ *
+ * @NamedQueries({
+ *      @NamedQuery(name="first",   query="SELECT p FROM __CLASS__ p WHERE p.id = 1"),
+ *      @NamedQuery(name="second",  query="SELECT p FROM __CLASS__ p WHERE p.id = 2")
+ * })
+ */
+class DDC1404ChildEntity extends DDC1404ParentEntity
+{
+
+    /**
+     * @column(type="string")
+     */
+    private $name;
+
+    /**
+     * @param string $name
+     */
+    public function __construct($name)
+    {
+        $this->name = $name;
+    }
+
+    /**
+     * @return string
+     */
+    public function getName()
+    {
+        return $this->name;
+    }
+
+    /**
+     * @param string $name
+     */
+    public function setName($name)
+    {
+        $this->name = $name;
+    }
+
+}