$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()); $t->is($results->getLastIndice(), 1001, '->getLastIndice() returns correct last indice if more can fit on the page'); $t->diag('testing link generator'); $results->setMaxPerPage(10); $results->setPage(4); $t->is($results->getLinks(5), range(2, 6), '->getLinks() returns the correct link range'); $results->setPage(1); $t->is($results->getLinks(5), range(1, 5), '->getLinks() returns correct link range when at start of index'); $results->setPage(101); $t->is($results->getLinks(5), range(97, 101), '->getLinks() returns link range when at end of index'); $t->diag('testing mixins'); function callListener($event) { if ($event['method'] == 'goodMethod') { $args = $event['arguments']; $event->setReturnValue($args[0] + 1); return true; } return false; } $lucene->getEventDispatcher()->connect('pager.method_not_found', 'callListener');