X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F05in_between.t;h=ae66b90b97c7c49ccd9f18c5959ca5b1f76894b0;hb=9642099c07a86cc125dea4de321b67d5ef3c3495;hp=5bcbe554fa5fc159799ad20c79315bc47999a2a0;hpb=4d8650614d3866beb43f746b8492dab446400be5;p=scpubgit%2FQ-Branch.git diff --git a/t/05in_between.t b/t/05in_between.t index 5bcbe55..ae66b90 100644 --- a/t/05in_between.t +++ b/t/05in_between.t @@ -93,6 +93,26 @@ my @in_between_tests = ( ] }, }, stmt => "WHERE ( + ( start0 BETWEEN ? AND UPPER(?) ) + AND ( start1 BETWEEN ? AND ? ) + AND ( start2 BETWEEN lower(x) AND upper(y) ) + AND ( start3 BETWEEN lower(x) AND upper(?) ) + )", + bind => [1, 2, 1, 2, 'stuff'], + test => '-between POD test', + }, + { + args => { restore_old_unop_handling => 1 }, + where => { + start0 => { -between => [ 1, { -upper => 2 } ] }, + start1 => { -between => \["? AND ?", 1, 2] }, + start2 => { -between => \"lower(x) AND upper(y)" }, + start3 => { -between => [ + \"lower(x)", + \["upper(?)", 'stuff' ], + ] }, + }, + stmt => "WHERE ( ( start0 BETWEEN ? AND UPPER ? ) AND ( start1 BETWEEN ? AND ? ) AND ( start2 BETWEEN lower(x) AND upper(y) ) @@ -113,6 +133,32 @@ my @in_between_tests = ( ] }, }, stmt => "WHERE ( + ( start0 BETWEEN ? AND UPPER(?) ) + AND ( start1 BETWEEN ? AND ? ) + AND ( start2 BETWEEN lower(x) AND upper(y) ) + AND ( start3 BETWEEN lower(x) AND upper(?) ) + )", + bind => [ + [ start0 => 1 ], + [ start0 => 2 ], + [ start1 => 1 ], + [ start1 => 2 ], + [ start3 => 'stuff' ], + ], + test => '-between POD test', + }, + { + args => { restore_old_unop_handling => 1, bindtype => 'columns' }, + where => { + start0 => { -between => [ 1, { -upper => 2 } ] }, + start1 => { -between => \["? AND ?", [ start1 => 1], [start1 => 2] ] }, + start2 => { -between => \"lower(x) AND upper(y)" }, + start3 => { -between => [ + \"lower(x)", + \["upper(?)", [ start3 => 'stuff'] ], + ] }, + }, + stmt => "WHERE ( ( start0 BETWEEN ? AND UPPER ? ) AND ( start1 BETWEEN ? AND ? ) AND ( start2 BETWEEN lower(x) AND upper(y) ) @@ -204,6 +250,13 @@ my @in_between_tests = ( { where => { x => { -in => [ \['LOWER(?)', 'A' ], \'LOWER(b)', { -lower => 'c' } ] } }, + stmt => " WHERE ( x IN ( LOWER(?), LOWER(b), LOWER(?) ) )", + bind => [qw/A c/], + test => '-in with an array of function array refs with args', + }, + { + args => { restore_old_unop_handling => 1 }, + where => { x => { -in => [ \['LOWER(?)', 'A' ], \'LOWER(b)', { -lower => 'c' } ] } }, stmt => " WHERE ( x IN ( LOWER(?), LOWER(b), LOWER ? ) )", bind => [qw/A c/], test => '-in with an array of function array refs with args',