8527fea5bac062ffa5cb92c23a18fe4275c94b05
[dbsrgits/DBIx-Class.git] / t / cdbi / 03-subclassing.t
1 use strict;
2 use Test::More;
3
4 #----------------------------------------------------------------------
5 # Make sure subclasses can be themselves subclassed
6 #----------------------------------------------------------------------
7
8 BEGIN {
9   eval "use DBIx::Class::CDBICompat;";
10   if ($@) {
11     plan (skip_all => 'Class::Trigger and DBIx::ContextualFetch required');
12     next;
13   }
14   eval "use DBD::SQLite";
15   plan $@ ? (skip_all => 'needs DBD::SQLite for testing') : (tests => 6);
16 }
17
18 use lib 't/cdbi/testlib';
19 use Film;
20
21 INIT { @Film::Threat::ISA = qw/Film/; }
22
23 ok(Film::Threat->db_Main->ping, 'subclass db_Main()');
24 is_deeply [ sort Film::Threat->columns ], [ sort Film->columns ],
25   'has the same columns';
26
27 my $bt = Film->create_test_film;
28 ok my $btaste = Film::Threat->retrieve('Bad Taste'), "subclass retrieve";
29 isa_ok $btaste => "Film::Threat";
30 isa_ok $btaste => "Film";
31 is $btaste->Title, 'Bad Taste', 'subclass get()';