X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fcdbi-t%2F19-set_sql.t;h=f725c893070e08cdab90685c5c1b2bb7ff632494;hb=331a564;hp=bab8f51cf20cee52935d2f199bda833bdef9ec09;hpb=510ca9120ab2fea50a0852ee4ed6a13735ed7ebc;p=dbsrgits%2FDBIx-Class.git diff --git a/t/cdbi-t/19-set_sql.t b/t/cdbi-t/19-set_sql.t index bab8f51..f725c89 100644 --- a/t/cdbi-t/19-set_sql.t +++ b/t/cdbi-t/19-set_sql.t @@ -2,8 +2,13 @@ use strict; use Test::More; BEGIN { - eval "use DBD::SQLite"; - plan $@ ? (skip_all => 'needs DBD::SQLite for testing') : (tests => 17); + eval "use DBIx::Class::CDBICompat;"; + if ($@) { + plan (skip_all => 'Class::Trigger and DBIx::ContextualFetch required'); + next; + } + eval "use DBD::SQLite"; + plan $@ ? (skip_all => 'needs DBD::SQLite for testing') : (tests => 20); } use lib 't/testlib'; @@ -14,6 +19,11 @@ use Actor; my @cols = Film->columns('Essential'); is_deeply \@cols, ['title'], "1 Column in essential"; is +Film->transform_sql('__ESSENTIAL__'), 'title', '__ESSENTIAL__ expansion'; + + # This provides a more interesting test + Film->columns(Essential => qw(title rating)); + is +Film->transform_sql('__ESSENTIAL__'), 'title, rating', + 'multi-col __ESSENTIAL__ expansion'; } my $f1 = Film->create({ title => 'A', director => 'AA', rating => 'PG' }); @@ -63,6 +73,22 @@ Film->set_sql( }; { + Film->set_sql( + by_id => qq{ + SELECT __ESSENTIAL__ + FROM __TABLE__ + WHERE __IDENTIFIER__ + } + ); + + my $film = Film->retrieve_all->first; + my @found = Film->search_by_id($film->id); + is @found, 1; + is $found[0]->id, $film->id; +} + + +{ Actor->has_a(film => "Film"); Film->set_sql( namerate => qq{