use BSE::TB::Site;
use BSE::Util::HTML;
-our $VERSION = "1.018";
+our $VERSION = "1.019";
sub _base_variables {
my ($self, %opts) = @_;
my $pp = $cgi->param($ppname) || $opts->{pp} || 20;
my $pname = $opts->{pname} || "p";
my $p = $cgi->param($pname) || 1;
- $p =~ /\A[0-9]\z/ or $p = 1;
+ $p =~ /\A[0-9]+\z/ or $p = 1;
my $pcount = @$list ? int((@$list + $pp - 1) / $pp) : 1;
my $cfg = bse_cfg();
+my %params;
my $r = BSE::Request::Test->new
(
- params =>
- {
- },
+ params => \%params,
);
my $t = BSE::Template->templater($cfg);
),
};
+$params{p} = 11;
template_test(<<'IN', <<'EXPECT', "page_list");
<:.set items = [ 1 .. 200 ] -:>
<:.set p = bse.paged(items, { pp: 5 }) -:>
+<:= p.items.join(" ") :>
<:.call "page_list", base:"/", pages: p :>
IN
+51 52 53 54 55
<div class="pagelist">
-Page 1 of 40
-<span><<</span>
-<span><</span>
+Page 11 of 40
+<a href="/?p=1&pp=5"><<</a>
+<a href="/?p=10&pp=5"><</a>
-<span>1</span>
+<a href="/?p=1&pp=5">1</a>
<a href="/?p=2&pp=5">2</a>
<a href="/?p=10&pp=5">10</a>
-<a href="/?p=11&pp=5">11</a>
+<span>11</span>
<a href="/?p=12&pp=5">12</a>
<a href="/?p=40&pp=5">40</a>
-<a href="/?p=2&pp=5">></a>
+<a href="/?p=12&pp=5">></a>
<a href="/?p=40&pp=5">>></a>
</div>
EXPECT