123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- <?php
-
- namespace Doctrine\Tests\ORM\Query;
-
- require_once __DIR__ . '/../../TestInit.php';
-
- class QueryTest extends \Doctrine\Tests\OrmTestCase
- {
- protected $_em = null;
-
- protected function setUp()
- {
- $this->_em = $this->_getTestEntityManager();
- }
-
- public function testGetParameters()
- {
- $query = $this->_em->createQuery("select u from Doctrine\Tests\Models\CMS\CmsUser u where u.username = ?1");
- $this->assertEquals(array(), $query->getParameters());
- }
-
- public function testGetParameters_HasSomeAlready()
- {
- $query = $this->_em->createQuery("select u from Doctrine\Tests\Models\CMS\CmsUser u where u.username = ?1");
- $query->setParameter(2, 84);
- $this->assertEquals(array(2 => 84), $query->getParameters());
- }
-
- public function testSetParameters()
- {
- $query = $this->_em->createQuery("select u from Doctrine\Tests\Models\CMS\CmsUser u where u.username = ?1");
- $query->setParameters(array(1 => 'foo', 2 => 'bar'));
- $this->assertEquals(array(1 => 'foo', 2 => 'bar'), $query->getParameters());
- }
-
- public function testFree()
- {
- $query = $this->_em->createQuery("select u from Doctrine\Tests\Models\CMS\CmsUser u where u.username = ?1");
- $query->setParameter(2, 84, \PDO::PARAM_INT);
-
- $query->free();
-
- $this->assertEquals(array(), $query->getParameters());
- }
-
- public function testClone()
- {
- $dql = "select u from Doctrine\Tests\Models\CMS\CmsUser u where u.username = ?1";
-
- $query = $this->_em->createQuery($dql);
- $query->setParameter(2, 84, \PDO::PARAM_INT);
- $query->setHint('foo', 'bar');
-
- $cloned = clone $query;
-
- $this->assertEquals($dql, $cloned->getDql());
- $this->assertEquals(array(), $cloned->getParameters());
- $this->assertFalse($cloned->getHint('foo'));
- }
-
- public function testFluentQueryInterface()
- {
- $q = $this->_em->createQuery("select a from Doctrine\Tests\Models\CMS\CmsArticle a");
- $q2 = $q->expireQueryCache(true)
- ->setQueryCacheLifetime(3600)
- ->setQueryCacheDriver(null)
- ->expireResultCache(true)
- ->setHint('foo', 'bar')
- ->setHint('bar', 'baz')
- ->setParameter(1, 'bar')
- ->setParameters(array(2 => 'baz'))
- ->setResultCacheDriver(null)
- ->setResultCacheId('foo')
- ->setDql('foo')
- ->setFirstResult(10)
- ->setMaxResults(10);
-
- $this->assertSame($q2, $q);
- }
-
- /**
- * @group DDC-968
- */
- public function testHints()
- {
- $q = $this->_em->createQuery("select a from Doctrine\Tests\Models\CMS\CmsArticle a");
- $q->setHint('foo', 'bar')->setHint('bar', 'baz');
-
- $this->assertEquals('bar', $q->getHint('foo'));
- $this->assertEquals('baz', $q->getHint('bar'));
- $this->assertEquals(array('foo' => 'bar', 'bar' => 'baz'), $q->getHints());
- }
-
- /**
- * @expectedException Doctrine\ORM\Query\QueryException
- **/
- public function testIterateWithNoDistinctAndWrongSelectClause()
- {
- $q = $this->_em->createQuery("select u, a from Doctrine\Tests\Models\CMS\CmsUser u LEFT JOIN u.articles a");
- $q->iterate();
- }
-
- /**
- * @expectedException Doctrine\ORM\Query\QueryException
- **/
- public function testIterateWithNoDistinctAndWithValidSelectClause()
- {
- $q = $this->_em->createQuery("select u from Doctrine\Tests\Models\CMS\CmsUser u LEFT JOIN u.articles a");
- $q->iterate();
- }
-
- public function testIterateWithDistinct()
- {
- $q = $this->_em->createQuery("SELECT DISTINCT u from Doctrine\Tests\Models\CMS\CmsUser u LEFT JOIN u.articles a");
- $q->iterate();
- }
- }
|