$app = 'frontend'; require_once dirname(__FILE__) . '/../bootstrap/functional.php'; $t = new lime_test(13); $total = 50; for ($i = 0; $i < $total; $i++) { $author = new Author(); $author->name = 'Author #' . $i; $author->save(); } $numPerPage = 25; $pager = new sfDoctrinePager('Author', $numPerPage); $pager->setTableMethod('testTableMethod'); $pager->setPage(1); $pager->init(); $t->is($pager->getQuery()->getSqlQuery(), 'SELECT a.id AS a__id, a.name AS a__name, a.type AS a__type FROM author a WHERE (a.id > 0) LIMIT 25'); $t->ok($pager->isFirstPage()); $pager->setPage(2); $pager->init(); $t->is($pager->getQuery()->getSqlQuery(), 'SELECT a.id AS a__id, a.name AS a__name, a.type AS a__type FROM author a WHERE (a.id > 0) LIMIT 25 OFFSET 25'); $t->is($pager->getQuery()->count(), $total); $t->ok($pager->isLastPage()); $results = $pager->getResults(); $t->is(gettype($results), 'object'); $t->is(get_class($results), 'Doctrine_Collection'); $t->is(count($results), $numPerPage); $t->is($pager->getCountQuery()->count(), $total); $pager = new sfDoctrinePager('Author', $numPerPage); $pager->setTableMethod('testTableMethod'); $pager->setPage(1); $pager->init(); $results = $pager->getResults(Doctrine::HYDRATE_ARRAY);