9 eval "use DBIx::Class::CDBICompat;";
11 plan (skip_all => "Class::Trigger and DBIx::ContextualFetch required: $@");
14 eval "use DBD::SQLite";
15 plan $@ ? (skip_all => 'needs DBD::SQLite for testing') : (tests => 9);
24 Film->create({ Title => $_, Rating => "PG" }) for ("Superman", "Super Fuzz");
25 Film->create({ Title => "Batman", Rating => "PG13" });
27 my $superman = Film->search_where( Title => "Superman" );
28 is $superman->next->Title, "Superman", "search_where() as iterator";
29 is $superman->next, undef;
31 my @all = Film->search_where({}, { order_by => "Title ASC" });
32 is_deeply ["Batman", "Super Fuzz", "Superman"],
33 [map $_->Title, @all],
36 @all = Film->search_where({}, { order_by => "Title DESC" });
37 is_deeply ["Superman", "Super Fuzz", "Batman"],
38 [map $_->Title, @all],
41 @all = Film->search_where({ Rating => "PG" }, { limit => 1, order_by => "Title ASC" });
42 is_deeply ["Super Fuzz"],
43 [map $_->Title, @all],
46 @all = Film->search_where({}, { limit => 2, order_by => "Title ASC" });
47 is_deeply ["Batman", "Super Fuzz"],
48 [map $_->Title, @all],
51 @all = Film->search_where({}, { offset => 1, order_by => "Title ASC" });
52 is_deeply ["Super Fuzz", "Superman"],
53 [map $_->Title, @all],
56 @all = Film->search_where({}, { limit => 1, offset => 1, order_by => "Title ASC" });
57 is_deeply ["Super Fuzz"],
58 [map $_->Title, @all],
61 @all = Film->search_where({}, { limit => 2, offset => 1,
62 limit_dialect => "Top", order_by => "Title ASC"
64 is_deeply ["Super Fuzz", "Superman"],
65 [map $_->Title, @all],
66 "limit_dialect ignored";