X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flib%2Fdbixcsl_common_tests.pm;fp=t%2Fdbixcsl_common_tests.pm;h=32c9076b9c3bb32e93aba121cc0c4ccde8e4782e;hb=c2849787d7804fcbe541c8063e240ceff0e5ff10;hp=7497f1ff915a1e5127e57aaf39f41a70c35e6e77;hpb=89ecd854bc20494eaf22db9057969a69d4e199c8;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/t/dbixcsl_common_tests.pm b/t/lib/dbixcsl_common_tests.pm similarity index 88% rename from t/dbixcsl_common_tests.pm rename to t/lib/dbixcsl_common_tests.pm index 7497f1f..32c9076 100644 --- a/t/dbixcsl_common_tests.pm +++ b/t/lib/dbixcsl_common_tests.pm @@ -37,11 +37,11 @@ sub skip_tests { 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; @@ -54,6 +54,8 @@ sub run_tests { additional_classes => 'TestAdditional', additional_base_classes => 'TestAdditionalBase', left_base_classes => [ qw/TestLeftBase/ ], + components => [ qw/TestComponent/ ], + resultset_components => [ qw/TestRSComponent/ ], debug => $debug, ); @@ -83,18 +85,60 @@ sub run_tests { 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 );