sub run_tests {
my $self = shift;
- plan tests => 42;
+ plan tests => 50;
$self->create();
- my $schema_class = 'DBIXCSL_Test_' . $self->{vendor} . '::Schema';
+ my $schema_class = 'DBIXCSL_Test::Schema';
my $debug = ($self->{verbose} > 1) ? 1 : 0;
additional_classes => 'TestAdditional',
additional_base_classes => 'TestAdditionalBase',
left_base_classes => [ qw/TestLeftBase/ ],
+ components => [ qw/TestComponent/ ],
+ resultset_components => [ qw/TestRSComponent/ ],
debug => $debug,
);
isa_ok( $rsobj1, "DBIx::Class::ResultSet" );
isa_ok( $rsobj2, "DBIx::Class::ResultSet" );
- can_ok( $class1, 'test_additional_base' );
- can_ok( $class1, 'test_additional_base_override' );
- can_ok( $class1, 'test_additional_base_additional' );
+ {
+ my ($skip_tab, $skip_tabo, $skip_taba, $skip_cmeth,
+ $skip_rsmeth, $skip_tcomp, $skip_trscomp);
- is( $class1->test_additional_base, "test_additional_base",
- "Additional Base method" );
+ can_ok( $class1, 'test_additional_base' ) or $skip_tab = 1;
+ can_ok( $class1, 'test_additional_base_override' ) or $skip_tabo = 1;
+ can_ok( $class1, 'test_additional_base_additional' ) or $skip_taba = 1;
+ can_ok( $class1, 'dbix_class_testcomponent' ) or $skip_tcomp = 1;
+ can_ok( $class1, 'dbix_class_testrscomponent' ) or $skip_trscomp = 1;
+ can_ok( $class1, 'loader_test1_classmeth' ) or $skip_cmeth = 1;
+ can_ok( $rsobj1, 'loader_test1_rsmeth' ) or $skip_rsmeth = 1;
- is( $class1->test_additional_base_override, "test_left_base_override",
- "Left Base overrides Additional Base method" );
+ SKIP: {
+ skip "Pre-requisite test failed", 1 if $skip_tab;
+ is( $class1->test_additional_base, "test_additional_base",
+ "Additional Base method" );
+ }
+
+ SKIP: {
+ skip "Pre-requisite test failed", 1 if $skip_tabo;
+ is( $class1->test_additional_base_override,
+ "test_left_base_override",
+ "Left Base overrides Additional Base method" );
+ }
+
+ SKIP: {
+ skip "Pre-requisite test failed", 1 if $skip_taba;
+ is( $class1->test_additional_base_additional, "test_additional",
+ "Additional Base can use Additional package method" );
+ }
+
+ SKIP: {
+ skip "Pre-requisite test failed", 1 if $skip_tcomp;
+ is( $class1->dbix_class_testcomponent,
+ 'dbix_class_testcomponent works' );
+ }
+
+ SKIP: {
+ skip "Pre-requisite test failed", 1 if $skip_trscomp;
+ is( $rsobj1->dbix_class_testrscomponent,
+ 'dbix_class_testrscomponent works' );
+ }
+
+ SKIP: {
+ skip "Pre-requisite test failed", 1 if $skip_cmeth;
+ is( $class1->loader_test1_classmeth, 'all is well' );
+ }
+
+ SKIP: {
+ skip "Pre-requisite test failed", 1 if $skip_rsmeth;
+ is( $rsobj1->loader_test1_rsmeth, 'all is still well' );
+ }
+ }
- is( $class1->test_additional_base_additional, "test_additional",
- "Additional Base can use Additional package method" );
my $obj = $rsobj1->find(1);
is( $obj->id, 1 );