X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Frow%2Ffind_one_has_many.t;h=51d8db4fff4993d4eab539468b77f9382ef416c4;hb=aa072cab54f2e6af9a9db82b3cdec0ebb97717cc;hp=92c5bd0cceb2e31d67a5fca68b8e6fc8a72562cb;hpb=3170049a4e06723c0ce480532dd25d6c3e4847f6;p=dbsrgits%2FDBIx-Class.git diff --git a/t/row/find_one_has_many.t b/t/row/find_one_has_many.t index 92c5bd0..51d8db4 100644 --- a/t/row/find_one_has_many.t +++ b/t/row/find_one_has_many.t @@ -1,12 +1,11 @@ +BEGIN { do "./t/lib/ANFANG.pm" or die ( $@ || $! ) } + use strict; use warnings; use Test::More; -use Test::Exception; -use lib qw(t/lib); + use DBICTest; -use DBIC::DebugObj; -use DBIC::SqlMakerTest; my $schema = DBICTest->init_schema(); @@ -16,20 +15,20 @@ $schema->resultset('CD')->delete; my $artist = $schema->resultset("Artist")->create({ artistid => 21, name => 'Michael Jackson', rank => 20 }); my $cd = $artist->create_related('cds', { year => 1975, title => 'Compilation from 1975' }); -my ($sql, @bind); -local $schema->storage->{debug} = 1; -local $schema->storage->{debugobj} = DBIC::DebugObj->new(\$sql, \@bind); - -my $find_cd = $artist->find_related('cds',{title => 'Compilation from 1975'}); - -s/^'//, s/'\z// for @bind; # why does DBIC::DebugObj not do this? - -is_same_sql_bind ( - $sql, - \@bind, - 'SELECT me.cdid, me.artist, me.title, me.year, me.genreid, me.single_track FROM cd me WHERE ( ( me.artist = ? AND me.title = ? ) ) ORDER BY year ASC', - [21, 'Compilation from 1975'], - 'find_related only uses foreign key condition once', -); +$schema->is_executed_sql_bind(sub { + my $find_cd = $artist->find_related('cds',{title => 'Compilation from 1975'}); +}, [ + [ + ' SELECT me.cdid, me.artist, me.title, me.year, me.genreid, me.single_track + FROM cd me + WHERE me.artist = ? AND me.title = ? + ORDER BY year ASC + ', + [ { dbic_colname => "me.artist", sqlt_datatype => "integer" } + => 21 ], + [ { dbic_colname => "me.title", sqlt_datatype => "varchar", sqlt_size => 100 } + => "Compilation from 1975" ], + ] +], 'find_related only uses foreign key condition once' ); done_testing;