Rajout de doctrine/orm
[zf2.biz/application_blanche.git] / vendor / doctrine / orm / tests / Doctrine / Tests / ORM / Functional / Ticket / DDC1757Test.php
diff --git a/vendor/doctrine/orm/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC1757Test.php b/vendor/doctrine/orm/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC1757Test.php
new file mode 100644 (file)
index 0000000..488f469
--- /dev/null
@@ -0,0 +1,92 @@
+<?php
+
+namespace Doctrine\Tests\ORM\Functional\Ticket;
+
+use Doctrine\ORM\UnitOfWork;
+
+require_once __DIR__ . '/../../../TestInit.php';
+
+class DDC1757Test extends \Doctrine\Tests\OrmFunctionalTestCase
+{
+    public function testFailingCase()
+    {
+        $qb = $this->_em->createQueryBuilder();
+        /* @var $qb \Doctrine\ORM\QueryBuilder */
+
+        $qb->select('_a')
+            ->from(__NAMESPACE__ . '\DDC1757A', '_a')
+            ->from(__NAMESPACE__ . '\DDC1757B', '_b')
+            ->join('_b.c', '_c')
+            ->join('_c.d', '_d');
+
+        $q = $qb->getQuery();
+        $dql = $q->getDQL();
+
+        // Show difference between expected and actual queries on error
+        self::assertEquals("SELECT _a FROM " . __NAMESPACE__ . "\DDC1757A _a, " . __NAMESPACE__ . "\DDC1757B _b INNER JOIN _b.c _c INNER JOIN _c.d _d",
+                $dql,
+                "Wrong DQL query");
+    }
+}
+
+/**
+ * @Entity
+ */
+class DDC1757A
+{
+    /**
+     * @Column(type="integer")
+     * @Id
+     * @GeneratedValue(strategy="AUTO")
+     */
+    private $id;
+}
+
+/**
+ * @Entity
+ */
+class DDC1757B
+{
+    /**
+     * @Column(type="integer")
+     * @Id
+     * @GeneratedValue(strategy="AUTO")
+     */
+    private $id;
+
+    /**
+     * @OneToOne(targetEntity="DDC1757C")
+     */
+    private $c;
+}
+
+/**
+ * @Entity
+ */
+class DDC1757C
+{
+    /**
+     * @Column(type="integer")
+     * @Id
+     * @GeneratedValue(strategy="AUTO")
+     */
+    public $id;
+
+    /**
+     * @OneToOne(targetEntity="DDC1757D")
+     */
+    private $d;
+}
+
+/**
+ * @Entity
+ */
+class DDC1757D
+{
+    /**
+     * @Column(type="integer")
+     * @Id
+     * @GeneratedValue(strategy="AUTO")
+     */
+    public $id;
+}