2 namespace Doctrine\Tests\ORM\Functional\Ticket;
4 use Doctrine\Tests\Models\DDC117\DDC117ArticleDetails;
5 use Doctrine\Tests\Models\DDC117\DDC117Article;
6 use Doctrine\ORM\Tools\Pagination\Paginator;
11 class DDC1685Test extends \Doctrine\Tests\OrmFunctionalTestCase
15 protected function setUp()
17 $this->useModelSet('ddc117');
20 $this->_em->createQuery('DELETE FROM Doctrine\Tests\Models\DDC117\DDC117ArticleDetails ad')->execute();
22 $article = new DDC117Article("Foo");
23 $this->_em->persist($article);
26 $articleDetails = new DDC117ArticleDetails($article, "Very long text");
27 $this->_em->persist($articleDetails);
30 $dql = "SELECT ad FROM Doctrine\Tests\Models\DDC117\DDC117ArticleDetails ad";
31 $query = $this->_em->createQuery($dql);
33 $this->paginator = new Paginator($query);
36 public function testPaginateCount()
38 $this->assertEquals(1, count($this->paginator));
41 public function testPaginateIterate()
43 foreach ($this->paginator as $ad) {
44 $this->assertInstanceOf('Doctrine\Tests\Models\DDC117\DDC117ArticleDetails', $ad);
48 public function testPaginateCountNoOutputWalkers()
50 $this->paginator->setUseOutputWalkers(false);
51 $this->assertEquals(1, count($this->paginator));
54 public function testPaginateIterateNoOutputWalkers()
56 $this->paginator->setUseOutputWalkers(false);
58 $this->setExpectedException('RuntimeException', 'Paginating an entity with foreign key as identifier only works when using the Output Walkers. Call Paginator#setUseOutputWalkers(true) before iterating the paginator.');
59 foreach ($this->paginator as $ad) {
60 $this->assertInstanceOf('Doctrine\Tests\Models\DDC117\DDC117ArticleDetails', $ad);