Rajout de doctrine/orm
[zf2.biz/galerie.git] / vendor / doctrine / orm / tests / Doctrine / Tests / ORM / Tools / Pagination / LimitSubqueryWalkerTest.php
1 <?php
2
3 namespace Doctrine\Tests\ORM\Tools\Pagination;
4
5 use Doctrine\ORM\Query;
6
7 /**
8  * @group DDC-1613
9  */
10 class LimitSubqueryWalkerTest extends PaginationTestCase
11 {
12     public function testLimitSubquery()
13     {
14         $query = $this->entityManager->createQuery(
15             'SELECT p, c, a FROM Doctrine\Tests\ORM\Tools\Pagination\MyBlogPost p JOIN p.category c JOIN p.author a');
16         $limitQuery = clone $query;
17         $limitQuery->setHint(Query::HINT_CUSTOM_TREE_WALKERS, array('Doctrine\ORM\Tools\Pagination\LimitSubqueryWalker'));
18
19         $this->assertEquals(
20             "SELECT DISTINCT m0_.id AS id0 FROM MyBlogPost m0_ INNER JOIN Category c1_ ON m0_.category_id = c1_.id INNER JOIN Author a2_ ON m0_.author_id = a2_.id", $limitQuery->getSql()
21         );
22     }
23
24     public function testCountQuery_MixedResultsWithName()
25     {
26         $query = $this->entityManager->createQuery(
27             'SELECT a, sum(a.name) as foo FROM Doctrine\Tests\ORM\Tools\Pagination\Author a');
28         $limitQuery = clone $query;
29         $limitQuery->setHint(Query::HINT_CUSTOM_TREE_WALKERS, array('Doctrine\ORM\Tools\Pagination\LimitSubqueryWalker'));
30
31         $this->assertEquals(
32             "SELECT DISTINCT a0_.id AS id0, sum(a0_.name) AS sclr1 FROM Author a0_", $limitQuery->getSql()
33         );
34     }
35 }
36