Refactored pagination into search method, Sweet syntax is now in Compat
[dbsrgits/DBIx-Class.git] / t / cdbi-t / 30-pager.t
1 use strict;\r
2 use Test::More;\r
3 \r
4 BEGIN {\r
5         eval "use DBD::SQLite";\r
6         plan $@ ? (skip_all => 'needs DBD::SQLite for testing') : (tests => 6);\r
7 }\r
8 \r
9 use lib 't/testlib';\r
10 use Film;\r
11 \r
12 my @film  = (\r
13         Film->create({ Title => 'Film 1' }),\r
14         Film->create({ Title => 'Film 2' }),\r
15         Film->create({ Title => 'Film 3' }),\r
16         Film->create({ Title => 'Film 4' }),\r
17         Film->create({ Title => 'Film 5' }),\r
18 );\r
19 \r
20 # first page\r
21 my ( $pager, $it ) = Film->page(\r
22     {},\r
23     { rows => 3,\r
24       page => 1 }\r
25 );\r
26 \r
27 is( $pager->entries_on_this_page, 3, "entries_on_this_page ok" );\r
28 \r
29 is( $pager->next_page, 2, "next_page ok" );\r
30 \r
31 is( $it->next->title, "Film 1", "iterator->next ok" );\r
32 \r
33 $it->next;\r
34 $it->next;\r
35 \r
36 is( $it->next, undef, "next past end of page ok" );\r
37 \r
38 # second page\r
39 ( $pager, $it ) = Film->page( \r
40     {},\r
41     { rows => 3,\r
42       page => 2 }\r
43 );\r
44 \r
45 is( $pager->entries_on_this_page, 2, "entries on second page ok" );\r
46 \r
47 is( $it->next->title, "Film 4", "second page first title ok" );\r