use warnings;
use Test::More;
+use Test::Exception;
use lib qw(t/lib);
use DBICTest;
use DBIC::SqlMakerTest;
my $rs = $schema->resultset('FourKeys');
sub test_order {
+
+ TODO: {
my $args = shift;
- my $req_order =
- $args->{order_req}
- ? "ORDER BY $args->{order_req}"
- : '';
+ local $TODO = "Not implemented" if $args->{todo};
- is_same_sql_bind(
+ lives_ok {
+ is_same_sql_bind(
$rs->search(
{ foo => 'bar' },
{
FROM fourkeys me
WHERE ( foo = ? )
HAVING read_count > ? OR read_count < ?
- $req_order
+ ORDER BY $args->{order_req}
)",
[
- [qw(foo bar)], [qw(read_count 5)],
- 8, $args->{bind} ? @{ $args->{bind} } : ()
+ [qw(foo bar)],
+ [qw(read_count 5)],
+ 8,
+ $args->{bind}
+ ? @{ $args->{bind} }
+ : ()
],
- );
+ );
+ };
+ fail('Fail the unfinished is_same_sql_bind') if $@;
+ }
}
my @tests = (
order_req => 'colA ASC, colB LIKE ? DESC, colC LIKE ? ASC',
bind => [qw(test tost)],
},
- { # this would be really really nice!
+
+ # (mo) this would be really really nice!
+ # (ribasushi) I don't think so, not writing it - patches welcome
+ {
order_by => [
{ -asc => 'colA' },
{ -desc => { colB => { 'LIKE' => 'test' } } },
],
order_req => 'colA ASC, colB LIKE ? DESC, colC LIKE ? ASC',
bind => [ [ colB => 'test' ], [ colC => 'tost' ] ], # ???
+ todo => 1,
},
{
order_by => { -desc => { colA => { LIKE => 'test' } } },
order_req => 'colA LIKE ? DESC',
bind => [qw(test)],
+ todo => 1,
},
);
-plan( tests => scalar @tests );
+plan( tests => scalar @tests * 2 );
test_order($_) for @tests;