X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fcdbi%2F03-subclassing.t;fp=t%2Fcdbi%2F03-subclassing.t;h=1740de380746259cddf25552d75f634253d89b34;hb=50891152d0b24649bfd67bdba97feec86b11c064;hp=0000000000000000000000000000000000000000;hpb=23209c4474d71e419b3fcf9699ae05565c2997f5;p=dbsrgits%2FDBIx-Class.git diff --git a/t/cdbi/03-subclassing.t b/t/cdbi/03-subclassing.t new file mode 100644 index 0000000..1740de3 --- /dev/null +++ b/t/cdbi/03-subclassing.t @@ -0,0 +1,31 @@ +use strict; +use Test::More; + +#---------------------------------------------------------------------- +# Make sure subclasses can be themselves subclassed +#---------------------------------------------------------------------- + +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 => 6); +} + +use lib 't/cdbi/testlib'; +use Film; + +INIT { @Film::Threat::ISA = qw/Film/; } + +ok(Film::Threat->db_Main->ping, 'subclass db_Main()'); +is_deeply [ sort Film::Threat->columns ], [ sort Film->columns ], + 'has the same columns'; + +my $bt = Film->create_test_film; +ok my $btaste = Film::Threat->retrieve('Bad Taste'), "subclass retrieve"; +isa_ok $btaste => "Film::Threat"; +isa_ok $btaste => "Film"; +is $btaste->Title, 'Bad Taste', 'subclass get()';