$pager = sfDoctrineFinder::from('DArticle')-> where('Title', 'like', 'tt%')-> paginate(1, 2); $t->is($pager->getNbResults(), 4, 'sfDoctrineFinder::paginate() sfDoctrineFinder::paginate() uses the internal conditions'); $t->is($pager->getLastPage(), 2, 'sfDoctrineFinder::paginate() sfDoctrineFinder::paginate() uses the internal conditions'); $t->is($pager->getFirstIndice(), 1, 'sfDoctrineFinder::paginate() sfDoctrineFinder::paginate() uses the internal conditions'); $t->diag('sfDoctrineFinderPager issues with GroupBy'); $finder = sfDoctrineFinder::from('DArticle')->groupBy('Title'); $pager = new sfDoctrineFinderPager('DArticle', 2); $pager->setFinder($finder); $pager->init(); //$t->is($finder->getLatestQuery(), 'SELECT COUNT(DISTINCT d.id) AS num_results FROM d_article d', 'sfDoctrineFinderPager::init() removes groupBy clauses and issues a count()'); $t->skip('sfDoctrineFinderPager::init() removes groupBy clauses and issues a count() (bug in sfDoctrinePager)'); $pager->getResults(); $t->is($finder->getLatestQuery(), 'SELECT d.id AS d__id, d.title AS d__title, d.category_id AS d__category_id FROM d_article d GROUP BY d.title LIMIT 2', 'sfDoctrineFinderPager::getResults() does not remove groupBy clauses and issues a select()'); $t->diag('sfDoctrineFinderPager issues with object finders classes'); class DArticleFinder extends sfDoctrineFinder { protected $class = 'DArticle'; } $finder = new DArticleFinder(); try { $pager = $finder->paginate(); $t->pass('Children of sfDoctrineFinder can use paginate()'); } catch(sfException $e) {