$t->is($results->getNbResults(), 1001, '->getNbResults() returns the total number of results'); $t->ok($results->haveToPaginate(), '->haveToPaginate() returns correct value'); $results->setPage(0); $t->is($results->getPage(), 1, '->setPage() to 0 sets the page to 1'); $results->setPage(100000); $t->is($results->getPage(), 101, '->setPage() above to upper bound resets to last page'); $results->setPage(2); $t->diag('testing ->getResults()'); $t->is_deeply($results->getResults()->toArray(), range(10, 20), '->getResults() returns the correct range'); $results->setPage(3); $t->is_deeply($results->getResults()->toArray(), range(20, 30), '->getResults() returns the correct range after page change'); $results->setMaxPerPage(0); $t->is_deeply($results->getResults()->toArray(), range(0, 1000), '->getResults() returns all results if the max per page is 0'); $results->setMaxPerPage(10); $t->diag('testing page numbers'); $t->is($results->getFirstPage(), 1, '->getFirstPage() returns 1 as first page'); $t->is($results->getLastPage(), 101, '->getLastPage() returns the last page in the range'); $t->is($results->getNextPage(), 4, '->getNextPage() returns the next page'); $results->setPage(101); $t->is($results->getNextPage(), 101, '->getNextPage() returns last page if at end'); $results->setPage(4); $t->is($results->getPreviousPage(), 3, '->getPreviousPage() returns the previous page'); $results->setPage(1); $t->is($results->getPreviousPage(), 1, '->getPreviousPage() returns the first page if at start'); $results->setPage(4); $t->diag('testing page indices'); $results->setPage(4); $t->is($results->getFirstIndice(), 31, '->getFirstIndice() returns correct first indice in results'); $t->is($results->getLastIndice(), 40, '->getLastIndice() returns correct last indice in result'); $results->setMaxPerPage(8); $results->setPage($results->getLastPage());
$pager->setPage(2); $t->diag('testing ->getResults()'); $results = $pager->getResults()->toArray(); foreach (range(10, 19) as $id) { $guid = 'GUID_' . $id; $t->cmp_ok($results[$id - 10]->sfl_guid, '==', $guid, '->getResults() returns the correct range, sfl_guid:' . $guid); } $pager->setPage(3); $results = $pager->getResults()->toArray(); foreach (range(20, 29) as $id) { $guid = 'GUID_' . $id; $t->cmp_ok($results[$id - 20]->sfl_guid, '==', $guid, '->getResults() returns the correct range after page change, sfl_guid:' . $guid); } $pager->setMaxPerPage(20); $t->diag('testing page numbers'); $t->is($pager->getFirstPage(), 1, '->getFirstPage() returns 1 as first page'); $t->is($pager->getLastPage(), 51, '->getLastPage() returns the last page in the range'); $t->is($pager->getNextPage(), 4, '->getNextPage() returns the next page'); $pager->setPage(101); $t->is($pager->getNextPage(), 51, '->getNextPage() returns last page if at end'); $pager->setPage(4); $t->is($pager->getPreviousPage(), 3, '->getPreviousPage() returns the previous page'); $pager->setPage(1); $t->is($pager->getPreviousPage(), 1, '->getPreviousPage() returns the first page if at start'); $pager->setPage(4); $t->diag('testing page indices'); $pager->setPage(4); $t->is($pager->getFirstIndice(), 61, '->getFirstIndice() returns correct first indice in results'); $t->is($pager->getLastIndice(), 80, '->getLastIndice() returns correct last indice in result'); $pager->setMaxPerPage(8); $pager->setPage($pager->getLastPage());