Expand describe_class_methods testing yet again
[dbsrgits/DBIx-Class.git] / xt / extra / c3_mro.t
index 1c5001a..398f51e 100644 (file)
@@ -5,20 +5,22 @@ use strict;
 
 use Test::More;
 use DBICTest;
+use DBIx::Class::Optional::Dependencies;
 
 my @global_ISA_tail = qw(
   DBIx::Class
   DBIx::Class::Componentised
   Class::C3::Componentised
   DBIx::Class::AccessorGroup
+  DBIx::Class::MethodAttributes
   Class::Accessor::Grouped
 );
 
 is(
-  mro::get_mro('DBIx::Class'),
+  mro::get_mro($_),
   'c3',
-  'Correct mro on base class DBIx::Class',
-);
+  "Correct mro on base class '$_'",
+) for grep { $_ =~ /^DBIx::Class/ } @global_ISA_tail;
 
 {
   package AAA;
@@ -58,7 +60,17 @@ check_ancestry($_) for (
   ref( $art->result_source ),
   ref( $art->result_source->resultset ),
   ref( $art->result_source->schema ),
+  ( map
+    { ref $art->result_source->schema->source($_) }
+    $art->result_source->schema->sources
+  ),
   qw( AAA BBB CCC ),
+  ((! DBIx::Class::Optional::Dependencies->req_ok_for('cdbicompat') ) ? () : do {
+    unshift @INC, 't/cdbi/testlib';
+    map { eval "require $_" or die $@; $_ } qw(
+      Film Lazy Actor ActorAlias ImplicitInflate
+    );
+  }),
 );
 
 use DBIx::Class::Storage::DBI::Sybase::Microsoft_SQL_Server;