X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fcdbi%2F21-iterator.t;h=f49bf68f115336a0f8c22e4b0282622fe618d174;hb=111364b30f1418813dec58ac6aca4492476bd23b;hp=c5717c709482a75d84dfe77aff589cdcc4fdbbe1;hpb=50891152d0b24649bfd67bdba97feec86b11c064;p=dbsrgits%2FDBIx-Class.git diff --git a/t/cdbi/21-iterator.t b/t/cdbi/21-iterator.t index c5717c7..f49bf68 100644 --- a/t/cdbi/21-iterator.t +++ b/t/cdbi/21-iterator.t @@ -1,86 +1,77 @@ use strict; +use warnings; use Test::More; -BEGIN { - eval "use DBIx::Class::CDBICompat;"; - if ($@) { - plan (skip_all => "Class::Trigger and DBIx::ContextualFetch required: $@"); - next; - } - eval "use DBD::SQLite"; - plan $@ ? (skip_all => 'needs DBD::SQLite for testing') : (tests => 37); -} - use lib 't/cdbi/testlib'; use Film; my $it_class = "DBIx::Class::ResultSet"; my @film = ( - Film->create({ Title => 'Film 1' }), - Film->create({ Title => 'Film 2' }), - Film->create({ Title => 'Film 3' }), - Film->create({ Title => 'Film 4' }), - Film->create({ Title => 'Film 5' }), - Film->create({ Title => 'Film 6' }), + Film->create({ Title => 'Film 1' }), + Film->create({ Title => 'Film 2' }), + Film->create({ Title => 'Film 3' }), + Film->create({ Title => 'Film 4' }), + Film->create({ Title => 'Film 5' }), + Film->create({ Title => 'Film 6' }), ); { - my $it1 = Film->retrieve_all; - isa_ok $it1, $it_class; + my $it1 = Film->retrieve_all; + isa_ok $it1, $it_class; - my $it2 = Film->retrieve_all; - isa_ok $it2, $it_class; + my $it2 = Film->retrieve_all; + isa_ok $it2, $it_class; - while (my $from1 = $it1->next) { - my $from2 = $it2->next; - is $from1->id, $from2->id, "Both iterators get $from1"; - } + while (my $from1 = $it1->next) { + my $from2 = $it2->next; + is $from1->id, $from2->id, "Both iterators get $from1"; + } } { - my $it = Film->retrieve_all; - is $it->first->title, "Film 1", "Film 1 first"; - is $it->next->title, "Film 2", "Film 2 next"; - is $it->first->title, "Film 1", "First goes back to 1"; - is $it->next->title, "Film 2", "With 2 still next"; - $it->reset; - is $it->next->title, "Film 1", "Reset brings us to film 1 again"; - is $it->next->title, "Film 2", "And 2 is still next"; + my $it = Film->retrieve_all; + is $it->first->title, "Film 1", "Film 1 first"; + is $it->next->title, "Film 2", "Film 2 next"; + is $it->first->title, "Film 1", "First goes back to 1"; + is $it->next->title, "Film 2", "With 2 still next"; + $it->reset; + is $it->next->title, "Film 1", "Reset brings us to film 1 again"; + is $it->next->title, "Film 2", "And 2 is still next"; } { - my $it = Film->retrieve_all; - my @slice = $it->slice(2,4); - is @slice, 3, "correct slice size (array)"; - is $slice[0]->title, "Film 3", "Film 3 first"; - is $slice[2]->title, "Film 5", "Film 5 last"; + my $it = Film->retrieve_all; + my @slice = $it->slice(2,4); + is @slice, 3, "correct slice size (array)"; + is $slice[0]->title, "Film 3", "Film 3 first"; + is $slice[2]->title, "Film 5", "Film 5 last"; } { - my $it = Film->retrieve_all; - my $slice = $it->slice(2,4); - isa_ok $slice, $it_class, "slice as iterator"; - is $slice->count, 3,"correct slice size (array)"; - is $slice->first->title, "Film 3", "Film 3 first"; - is $slice->next->title, "Film 4", "Film 4 next"; - is $slice->first->title, "Film 3", "First goes back to 3"; - is $slice->next->title, "Film 4", "With 4 still next"; - $slice->reset; - is $slice->next->title, "Film 3", "Reset brings us to film 3 again"; - is $slice->next->title, "Film 4", "And 4 is still next"; + my $it = Film->retrieve_all; + my $slice = $it->slice(2,4); + isa_ok $slice, $it_class, "slice as iterator"; + is $slice->count, 3,"correct slice size (array)"; + is $slice->first->title, "Film 3", "Film 3 first"; + is $slice->next->title, "Film 4", "Film 4 next"; + is $slice->first->title, "Film 3", "First goes back to 3"; + is $slice->next->title, "Film 4", "With 4 still next"; + $slice->reset; + is $slice->next->title, "Film 3", "Reset brings us to film 3 again"; + is $slice->next->title, "Film 4", "And 4 is still next"; - # check if the original iterator still works - is $it->count, 6, "back to the original iterator, is of right size"; - is $it->first->title, "Film 1", "Film 1 first"; - is $it->next->title, "Film 2", "Film 2 next"; - is $it->first->title, "Film 1", "First goes back to 1"; - is $it->next->title, "Film 2", "With 2 still next"; - is $it->next->title, "Film 3", "Film 3 is still in original Iterator"; - $it->reset; - is $it->next->title, "Film 1", "Reset brings us to film 1 again"; - is $it->next->title, "Film 2", "And 2 is still next"; + # check if the original iterator still works + is $it->count, 6, "back to the original iterator, is of right size"; + is $it->first->title, "Film 1", "Film 1 first"; + is $it->next->title, "Film 2", "Film 2 next"; + is $it->first->title, "Film 1", "First goes back to 1"; + is $it->next->title, "Film 2", "With 2 still next"; + is $it->next->title, "Film 3", "Film 3 is still in original Iterator"; + $it->reset; + is $it->next->title, "Film 1", "Reset brings us to film 1 again"; + is $it->next->title, "Film 2", "And 2 is still next"; } { @@ -94,3 +85,5 @@ my @film = ( is $it, 0; ok !$it, "iterator returns false when no results"; } + +done_testing;