--- /dev/null
+use strict;
+use Test::More;
+
+BEGIN {
+ eval "use DBD::SQLite";
+ plan $@ ? (skip_all => 'needs DBD::SQLite for testing') : (tests => 5);
+}
+
+use lib 't/testlib';
+use Film;
+use Director;
+
+{ # Cascade Strategies
+ Director->has_many(nasties => Film => { cascade => 'Fail' });
+
+ my $dir = Director->insert({ name => "Nasty Noddy" });
+ my $kk = $dir->add_to_nasties({ Title => 'Killer Killers' });
+ is $kk->director, $dir, "Director set OK";
+ is $dir->nasties, 1, "We have one nasty";
+ eval { $dir->delete };
+ like $@, qr/1/, "Can't delete while films exist";
+ my $rr = $dir->add_to_nasties({ Title => 'Revenge of the Revengers' });
+ eval { $dir->delete };
+ like $@, qr/2/, "Still can't delete";
+ $dir->nasties->delete_all;
+ eval { $dir->delete };
+ is $@, '', "Can delete once films are gone";
+}