Rajout de doctrine/orm
[zf2.biz/galerie.git] / vendor / doctrine / orm / tests / Doctrine / Tests / ORM / Functional / Ticket / DDC1685Test.php
1 <?php
2 namespace Doctrine\Tests\ORM\Functional\Ticket;
3
4 use Doctrine\Tests\Models\DDC117\DDC117ArticleDetails;
5 use Doctrine\Tests\Models\DDC117\DDC117Article;
6 use Doctrine\ORM\Tools\Pagination\Paginator;
7
8 /**
9  * @group DDC-1685
10  */
11 class DDC1685Test extends \Doctrine\Tests\OrmFunctionalTestCase
12 {
13     private $paginator;
14
15     protected function setUp()
16     {
17         $this->useModelSet('ddc117');
18         parent::setUp();
19
20         $this->_em->createQuery('DELETE FROM Doctrine\Tests\Models\DDC117\DDC117ArticleDetails ad')->execute();
21
22         $article = new DDC117Article("Foo");
23         $this->_em->persist($article);
24         $this->_em->flush();
25
26         $articleDetails = new DDC117ArticleDetails($article, "Very long text");
27         $this->_em->persist($articleDetails);
28         $this->_em->flush();
29
30         $dql   = "SELECT ad FROM Doctrine\Tests\Models\DDC117\DDC117ArticleDetails ad";
31         $query = $this->_em->createQuery($dql);
32
33         $this->paginator = new Paginator($query);
34     }
35
36     public function testPaginateCount()
37     {
38         $this->assertEquals(1, count($this->paginator));
39     }
40
41     public function testPaginateIterate()
42     {
43         foreach ($this->paginator as $ad) {
44             $this->assertInstanceOf('Doctrine\Tests\Models\DDC117\DDC117ArticleDetails', $ad);
45         }
46     }
47
48     public function testPaginateCountNoOutputWalkers()
49     {
50         $this->paginator->setUseOutputWalkers(false);
51         $this->assertEquals(1, count($this->paginator));
52     }
53
54     public function testPaginateIterateNoOutputWalkers()
55     {
56         $this->paginator->setUseOutputWalkers(false);
57
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);
61         }
62     }
63 }
64