Rajout de doctrine/orm
[zf2.biz/application_blanche.git] / vendor / doctrine / orm / tests / Doctrine / Tests / ORM / Functional / Ticket / DDC309Test.php
diff --git a/vendor/doctrine/orm/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC309Test.php b/vendor/doctrine/orm/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC309Test.php
new file mode 100644 (file)
index 0000000..325ce8d
--- /dev/null
@@ -0,0 +1,73 @@
+<?php
+namespace Doctrine\Tests\ORM\Functional\Ticket;
+
+require_once __DIR__ . '/../../../TestInit.php';
+
+class DDC309Test extends \Doctrine\Tests\OrmFunctionalTestCase
+{
+    protected function setUp()
+    {
+        parent::setUp();
+        $this->_schemaTool->createSchema(array(
+            $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC309Country'),
+            $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC309User'),
+        ));
+    }
+
+    public function testTwoIterateHydrations()
+    {
+        $c1 = new DDC309Country();
+        $c2 = new DDC309Country();
+        $u1 = new DDC309User();
+        $u2 = new DDC309User();
+
+        $this->_em->persist($c1);
+        $this->_em->persist($c2);
+        $this->_em->persist($u1);
+        $this->_em->persist($u2);
+        $this->_em->flush();
+        $this->_em->clear();
+
+        $q = $this->_em->createQuery('SELECT c FROM Doctrine\Tests\ORM\Functional\Ticket\DDC309Country c')->iterate();
+        $c = $q->next();
+
+        $this->assertEquals(1, $c[0]->id);
+
+        $r = $this->_em->createQuery('SELECT u FROM Doctrine\Tests\ORM\Functional\Ticket\DDC309User u')->iterate();
+        $u = $r->next(); // This line breaks
+
+        $this->assertEquals(1, $u[0]->id);
+
+        $c = $q->next();
+        $u = $r->next();
+
+        $this->assertEquals(2, $c[0]->id);
+        $this->assertEquals(2, $u[0]->id);
+    }
+}
+
+/**
+ * @Entity
+ */
+class DDC309Country
+{
+    /**
+     * @Id
+     * @Column(name="id", type="integer")
+     * @GeneratedValue
+     */
+    public $id;
+}
+
+/**
+ * @Entity
+ */
+class DDC309User
+{
+    /**
+     * @Id
+     * @Column(name="id", type="integer")
+     * @GeneratedValue
+     */
+    public $id;
+}