diff --git a/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC3346Test.php b/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC3346Test.php index e082c1b56..7ae4fa706 100644 --- a/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC3346Test.php +++ b/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC3346Test.php @@ -22,7 +22,7 @@ class DDC3346Test extends \Doctrine\Tests\OrmFunctionalTestCase ); } - public function testFindOneByWithEagerFetch() + public function testFindOneWithEagerFetchWillNotHydrateLimitedCollection() { $user = new DDC3346Author(); $user->username = "bwoogy"; @@ -37,18 +37,7 @@ class DDC3346Test extends \Doctrine\Tests\OrmFunctionalTestCase $this->_em->persist($article1); $this->_em->persist($article2); $this->_em->flush(); - $this->_em->close(); - - /** @var DDC3346Author[] $authors */ - $authors = $this->_em->getRepository('Doctrine\Tests\Models\DDC3346\DDC3346Author')->findBy( - array('username' => "bwoogy") - ); - - $this->assertCount(1, $authors); - - $this->assertCount(2, $authors[0]->articles); - - $this->_em->close(); + $this->_em->clear(); /** @var DDC3346Author $author */ $author = $this->_em->getRepository('Doctrine\Tests\Models\DDC3346\DDC3346Author')->findOneBy( @@ -57,4 +46,61 @@ class DDC3346Test extends \Doctrine\Tests\OrmFunctionalTestCase $this->assertCount(2, $author->articles); } + + public function testFindLimitedWithEagerFetchWillNotHydrateLimitedCollection() + { + $user = new DDC3346Author(); + $user->username = "bwoogy"; + + $article1 = new DDC3346Article(); + $article1->setAuthor($user); + + $article2 = new DDC3346Article(); + $article2->setAuthor($user); + + $this->_em->persist($user); + $this->_em->persist($article1); + $this->_em->persist($article2); + $this->_em->flush(); + $this->_em->clear(); + + /** @var DDC3346Author[] $authors */ + $authors = $this->_em->getRepository('Doctrine\Tests\Models\DDC3346\DDC3346Author')->findBy( + array('username' => "bwoogy"), + null, + 1 + ); + + $this->assertCount(1, $authors); + $this->assertCount(2, $authors[0]->articles); + } + + public function testFindWithEagerFetchAndOffsetWillNotHydrateLimitedCollection() + { + $user = new DDC3346Author(); + $user->username = "bwoogy"; + + $article1 = new DDC3346Article(); + $article1->setAuthor($user); + + $article2 = new DDC3346Article(); + $article2->setAuthor($user); + + $this->_em->persist($user); + $this->_em->persist($article1); + $this->_em->persist($article2); + $this->_em->flush(); + $this->_em->clear(); + + /** @var DDC3346Author[] $authors */ + $authors = $this->_em->getRepository('Doctrine\Tests\Models\DDC3346\DDC3346Author')->findBy( + array('username' => "bwoogy"), + null, + null, + 1 + ); + + $this->assertCount(1, $authors); + $this->assertCount(2, $authors[0]->articles); + } }