Add strict/warnings test, adjust all offenders (wow, that was a lot)
[dbsrgits/DBIx-Class.git] / t / cdbi / 15-accessor.t
index 72f2c54..267916d 100644 (file)
@@ -1,16 +1,7 @@
 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 => 75);
-}
-
 INIT {
     #local $SIG{__WARN__} =
         #sub { like $_[0], qr/clashes with built-in method/, $_[0] };
@@ -25,6 +16,11 @@ INIT {
     sub Class::DBI::sheep { ok 0; }
 }
 
+# Install the deprecation warning intercept here for the rest of the 08 dev cycle
+local $SIG{__WARN__} = sub {
+  warn @_ unless (DBIx::Class->VERSION < 0.09 and $_[0] =~ /Query returned more than one row/);
+};
+
 sub Film::mutator_name {
     my ($class, $col) = @_;
     return "set_sheep" if lc $col eq "numexplodingsheep";
@@ -78,7 +74,7 @@ eval {
     my $data = { %$data };
     $data->{NumExplodingSheep} = 1;
     ok my $bt = Film->find_or_create($data),
-               "find_or_create Modified accessor - find with column name";
+    "find_or_create Modified accessor - find with column name";
     isa_ok $bt, "Film";
     is $bt->sheep, 1, 'sheep bursting violently';
 };
@@ -88,19 +84,20 @@ eval {
     my $data = { %$data };
     $data->{sheep} = 1;
     ok my $bt = Film->find_or_create($data),
-               "find_or_create Modified accessor - find with accessor";
+    "find_or_create Modified accessor - find with accessor";
     isa_ok $bt, "Film";
     is $bt->sheep, 1, 'sheep bursting violently';
 };
 is $@, '', "No errors";
 
-TODO: { local $TODO = 'TODOifying failing tests, waiting for Schwern'; ok (1, 'remove me');
 eval {
     my $data = { %$data };
     $data->{NumExplodingSheep} = 3;
     ok my $bt = Film->find_or_create($data),
-               "find_or_create Modified accessor - create with column name";
+    "find_or_create Modified accessor - create with column name";
     isa_ok $bt, "Film";
+
+    local $TODO = 'TODOifying failing tests, waiting for Schwern';
     is $bt->sheep, 3, 'sheep bursting violently';
 };
 is $@, '', "No errors";
@@ -109,8 +106,10 @@ eval {
     my $data = { %$data };
     $data->{sheep} = 4;
     ok my $bt = Film->find_or_create($data),
-               "find_or_create Modified accessor - create with accessor";
+    "find_or_create Modified accessor - create with accessor";
     isa_ok $bt, "Film";
+
+    local $TODO = 'TODOifying failing tests, waiting for Schwern';
     is $bt->sheep, 4, 'sheep bursting violently';
 };
 is $@, '', "No errors";
@@ -119,8 +118,9 @@ eval {
     my @film = Film->search({ sheep => 1 });
     is @film, 2, "Can search with modified accessor";
 };
-is $@, '', "No errors";
-
+{
+  local $TODO = 'TODOifying failing tests, waiting for Schwern';
+  is $@, '', "No errors";
 }
 
 {
@@ -160,9 +160,6 @@ is $@, '', "No errors";
     like $@, qr/film/, "no hasa film";
 
     eval {
-        local $SIG{__WARN__} = sub {
-            warn @_ unless $_[0] =~ /Query returned more than one row/;
-        };
         ok my $f = $ac->movie, "hasa movie";
         isa_ok $f, "Film";
         is $f->id, $bt->id, " - Bad Taste";
@@ -264,5 +261,7 @@ is $@, '', "No errors";
     my $abigail = eval { Film->create({ title => "Abigail's Party" }) };
     like $@, qr/read only/, "Or create new films";
 
-    $sandl->discard_changes;
+    $_->discard_changes for ($naked, $sandl);
 }
+
+done_testing;