public function testBuild() { $pagination = new Pagination(1000, 40, 10, 5); $this->assertEquals(array(1 => Pagination::TAG_FIRST, 34 => Pagination::TAG_LESS, 35 => Pagination::TAG_PREVIOUS, 36 => Pagination::TAG_PREVIOUS, 37 => Pagination::TAG_PREVIOUS, 38 => Pagination::TAG_PREVIOUS, 39 => Pagination::TAG_PREVIOUS, 40 => Pagination::TAG_CURRENT, 41 => Pagination::TAG_NEXT, 42 => Pagination::TAG_NEXT, 43 => Pagination::TAG_NEXT, 44 => Pagination::TAG_NEXT, 45 => Pagination::TAG_NEXT, 46 => Pagination::TAG_MORE, 100 => Pagination::TAG_LAST), $pagination->build()); $pagination = new Pagination(0, 1, 10); $this->assertEquals(array(), $pagination->build()); $pagination = new Pagination(10, 1, 10); $this->assertEquals(array(), $pagination->build()); $pagination = new Pagination(10, 0, 20); $this->assertEquals(array(), $pagination->build()); }
/** * Возвращает массив с постраничной навигацией * * @param $totalItems * @param int $currentPage * @param int $itemsPerPage * @param int $neighbours * * @return array */ public function getPagination($totalItems, $currentPage = 1, $itemsPerPage = 10, $neighbours = 2) { $pagination = new Pagination($totalItems, $currentPage, $itemsPerPage, $neighbours); return $pagination->build(); }