$| = 1;
BEGIN {
- eval "use DBD::SQLite";
- plan $@ ? (skip_all => 'needs DBD::SQLite for testing') : (tests => 93);
+ 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 => 96);
}
INIT {
cmp_ok(@films, '==', 2, "We have 2 films in total");
}
+# EXTRA TEST: added by mst to check a bug found by Numa
+cmp_ok(Film->count_all, '==', 2, "count_all confirms 2 films");
+
my $gone_copy = Film->retrieve('Gone With The Wind');
ok($gone->NumExplodingSheep == 5, 'update()');
ok($gone->Rating eq 'NC-17', 'update() again');
Film->create({ Title => 'Mikey and Nicky', Director => 'Elaine May' });
my $new_leaf =
Film->create({ Title => 'A New Leaf', Director => 'Elaine May' });
+
+#use Data::Dumper; die Dumper(Film->search( Director => 'Elaine May' ));
cmp_ok(Film->search(Director => 'Elaine May'), '==', 3,
"3 Films by Elaine May");
ok(Film->retrieve('Ishtar')->delete,
cmp_ok(Film->search(Director => 'Elaine May'), '==',
0, "0 Films by Elaine May");
SKIP: {
- skip "No deprecated warnings from DBIx::Class", 1;
+ skip "No deprecated warnings from compat layer", 1;
is $deprecated, 1, "Got a deprecated warning";
}
}
my $btaste2 = Film->retrieve($btaste->id);
$btaste->NumExplodingSheep(18);
my @warnings;
- local $SIG{__WARN__} = sub { push @warnings, @_; };
+ local $SIG{__WARN__} = sub { push(@warnings, @_); };
{
# unhook from live object cache, so next one is not from cache
}
SKIP: {
- skip "DBIx::Class doesn't yet have a live objects index", 3;
+ #skip "DBIx::Class doesn't yet have a live objects index", 3;
#skip "Scalar::Util::weaken not available", 3
#if !$Class::DBI::Weaken_Is_Available;
is Scalar::Util::refaddr($btaste), Scalar::Util::refaddr($btaste2),
"Retrieving twice gives ref to same object";
+ my ($btaste5) = Film->search(title=>'Bad Taste');
+ is Scalar::Util::refaddr($btaste), Scalar::Util::refaddr($btaste5),
+ "Searching also gives ref to same object";
+
$btaste2->remove_from_object_index;
my $btaste3 = Film->retrieve('Bad Taste');
isnt Scalar::Util::refaddr($btaste2), Scalar::Util::refaddr($btaste3),
my $btaste4 = Film->retrieve('Bad Taste');
isnt Scalar::Util::refaddr($btaste2), Scalar::Util::refaddr($btaste4),
"Clearing cache and retrieving again gives new object";
+
+ $btaste=Film->create({
+ Title => 'Bad Taste 2',
+ Director => 'Peter Jackson',
+ Rating => 'R',
+ NumExplodingSheep => 2,
+ });
+ $btaste2 = Film->retrieve('Bad Taste 2');
+ is Scalar::Util::refaddr($btaste), Scalar::Util::refaddr($btaste2),
+ "Creating and retrieving gives ref to same object";
+
}