use Test::More;
BEGIN {
- eval "use DBD::SQLite";
- plan $@ ? (skip_all => 'needs DBD::SQLite for testing') : (tests => 50);
+ 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 => 50);
}
use lib 't/testlib';
# Iterators
#----------------------------------------------------------------------
-SKIP: {
- skip "Compat layer doesn't have iterator support yet", 33;
+my $it_class = 'DBIx::Class::ResultSet';
sub test_normal_iterator {
my $it = $film->actors;
- isa_ok $it, "Class::DBI::Iterator";
+ isa_ok $it, $it_class;
is $it->count, 3, " - with 3 elements";
my $i = 0;
while (my $film = $it->next) {
{
Film->has_many(actor_ids => [ Actor => 'id' ]);
my $it = $film->actor_ids;
- isa_ok $it, "Class::DBI::Iterator";
+ isa_ok $it, $it_class;
is $it->count, 3, " - with 3 elements";
my $i = 0;
while (my $film_id = $it->next) {
# make sure nothing gets clobbered;
test_normal_iterator;
+SKIP: {
+ #skip "dbic iterators don't support slice yet", 12;
+
+
{
my @acts = $film->actors->slice(1, 2);
is @acts, 2, "Slice gives 2 actor";
package Class::DBI::My::Iterator;
-use base 'Class::DBI::Iterator';
+use vars qw/@ISA/;
+
+@ISA = ($it_class);
sub slice { qw/fred barney/ }
Actor->iterator_class('Class::DBI::My::Iterator');
+delete $film->{related_resultsets};
+
{
my @acts = $film->actors->slice(1, 2);
is @acts, 2, "Slice gives 2 results";