<?php $p = new \ebi\Paginator(10, 1, 100); eq("page=3", $p->query(3)); // prev $p = new \ebi\Paginator(10, 3, 100); $p->query_name("page"); $p->vars("abc", "DEF"); eq("abc=DEF&page=2", $p->query_prev()); // next $p = new \ebi\Paginator(10, 3, 100); $p->query_name("page"); $p->vars("abc", "DEF"); eq("abc=DEF&page=4", $p->query_next()); // order $p = new \ebi\Paginator(10, 3, 100); $p->query_name("page"); $p->vars("abc", "DEF"); $p->order("bbb"); eq("abc=DEF&order=aaa&porder=bbb", $p->query_order("aaa")); $p = new \ebi\Paginator(10, 3, 100); $p->query_name("page"); $p->vars("abc", "DEF"); $p->vars("order", "bbb"); eq("abc=DEF&order=aaa&porder=bbb", $p->query_order("aaa"));
<?php $p = new \ebi\Paginator(4, 1, 3); eq(1, $p->first()); eq(1, $p->last()); eq(false, $p->has_range()); $p = new \ebi\Paginator(4, 2, 3); eq(1, $p->first()); eq(1, $p->last()); eq(false, $p->has_range()); $p = new \ebi\Paginator(4, 1, 10); eq(1, $p->first()); eq(3, $p->last()); eq(true, $p->has_range()); $p = new \ebi\Paginator(4, 2, 10); eq(1, $p->first()); eq(3, $p->last()); eq(true, $p->has_range());
eq(10, $p->which_last(3)); $p = new \ebi\Paginator(3, 2); $list = array(1, 2, 3, 4, 5, 6, 7, 8, 9); foreach ($list as $v) { $p->add($v); } eq(array(4, 5, 6), $p->contents()); eq(2, $p->current()); eq(1, $p->first()); eq(3, $p->last()); eq(9, $p->total()); $p = new \ebi\Paginator(3, 2); $list = array(1, 2, 3, 4, 5); foreach ($list as $v) { $p->add($v); } eq(array(4, 5), $p->contents()); eq(2, $p->current()); eq(1, $p->first()); eq(2, $p->last()); eq(5, $p->total()); $p = new \ebi\Paginator(3); $list = array(1, 2); foreach ($list as $v) { $p->add($v); } eq(array(1, 2), $p->contents()); eq(1, $p->current()); eq(1, $p->first()); eq(1, $p->last()); eq(2, $p->total());
<?php // next $p = new \ebi\Paginator(10, 1, 100); eq(true, $p->is_next()); $p = new \ebi\Paginator(10, 9, 100); eq(true, $p->is_next()); $p = new \ebi\Paginator(10, 10, 100); eq(false, $p->is_next()); $p = new \ebi\Paginator(10, 1, 100); eq(2, $p->next()); // prev $p = new \ebi\Paginator(10, 1, 100); eq(false, $p->is_prev()); $p = new \ebi\Paginator(10, 9, 100); eq(true, $p->is_prev()); $p = new \ebi\Paginator(10, 10, 100); eq(true, $p->is_prev()); $p = new \ebi\Paginator(10, 2, 100); eq(1, $p->prev());
<?php $p = new \ebi\Paginator(10, 3); $p->total(100); $re = []; foreach ($p as $k => $v) { $re[$k] = $v; } eq(array('current' => 3, 'limit' => 10, 'offset' => 20, 'total' => 100, 'order' => null), $re);