X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F99dbic_sqlt_parser.t;h=9968a82e9c5650c2a8887b2078be53aee1230c28;hb=99a836c181ec6f90907652499091709a195ba6ee;hp=900e1243e6938655a1c6ee1e6abef631f43d9d99;hpb=0e2c68097a6c35e41ad9daee61957ca0ed871cdd;p=dbsrgits%2FDBIx-Class.git diff --git a/t/99dbic_sqlt_parser.t b/t/99dbic_sqlt_parser.t index 900e124..9968a82 100644 --- a/t/99dbic_sqlt_parser.t +++ b/t/99dbic_sqlt_parser.t @@ -5,24 +5,32 @@ use Test::More; use lib qw(t/lib); use DBICTest; + BEGIN { - eval "use DBD::mysql; use SQL::Translator 0.09;"; - plan $@ - ? ( skip_all => 'needs SQL::Translator 0.09 for testing' ) - : ( tests => 99 ); + eval "use SQL::Translator 0.09003;"; + if ($@) { + plan skip_all => 'needs SQL::Translator 0.09003 for testing'; + } } my $schema = DBICTest->init_schema(); +# Dummy was yanked out by the sqlt hook test +# YearXXXXCDs are views +my @sources = grep { $_ ne 'Dummy' && $_ !~ /^Year\d{4}CDs$/ } + $schema->sources; + +plan tests => ( @sources * 3); { my $sqlt_schema = create_schema({ schema => $schema, args => { parser_args => { } } }); - foreach my $source ($schema->sources) { + foreach my $source (@sources) { my $table = $sqlt_schema->get_table($schema->source($source)->from); my $fk_count = scalar(grep { $_->type eq 'FOREIGN KEY' } $table->get_constraints); my @indices = $table->get_indices; my $index_count = scalar(@indices); + $index_count++ if ($source eq 'TwoKeys'); # TwoKeys has the index turned off on the rel def is($index_count, $fk_count, "correct number of indices for $source with no args"); } } @@ -30,12 +38,13 @@ my $schema = DBICTest->init_schema(); { my $sqlt_schema = create_schema({ schema => $schema, args => { parser_args => { add_fk_index => 1 } } }); - foreach my $source ($schema->sources) { + foreach my $source (@sources) { my $table = $sqlt_schema->get_table($schema->source($source)->from); my $fk_count = scalar(grep { $_->type eq 'FOREIGN KEY' } $table->get_constraints); my @indices = $table->get_indices; my $index_count = scalar(@indices); + $index_count++ if ($source eq 'TwoKeys'); # TwoKeys has the index turned off on the rel def is($index_count, $fk_count, "correct number of indices for $source with add_fk_index => 1"); } } @@ -43,7 +52,7 @@ my $schema = DBICTest->init_schema(); { my $sqlt_schema = create_schema({ schema => $schema, args => { parser_args => { add_fk_index => 0 } } }); - foreach my $source ($schema->sources) { + foreach my $source (@sources) { my $table = $sqlt_schema->get_table($schema->source($source)->from); my @indices = $table->get_indices;