13ec805ead67d422a8f66f0fb9ddd456016fc4ca
[dbsrgits/SQL-Abstract-2.0-ish.git] / t / 101_expr_funcitons.t
1
2 use strict;
3 use warnings;
4
5 use Test::More tests => 4;
6 use Test::Differences;
7
8 use_ok('SQL::Abstract') or BAIL_OUT( "$@" );
9
10 my $sqla = SQL::Abstract->create(1);
11
12 is $sqla->dispatch(
13   { -type => 'expr',
14     op => '==',
15     args => [
16       { -type => 'expr',
17         op => 'ROUND',
18         args => [
19           {-type => name => args => [qw/me id/] }, 
20         ]
21       },
22       { -type => 'expr',
23         op => 'ROUND',
24         args => [
25           { -type => 'value', value => 500 }
26         ]
27       },
28     ]
29   }
30 ), "ROUND(me.id) = ROUND(?)", 
31    "simple expr clause";
32
33 is $sqla->dispatch(
34   { -type => 'expr',
35     op => 'last_insert_id',
36   }
37 ), "last_insert_id()",
38    "last_insert_id";
39
40 is $sqla->dispatch(
41   { -type => 'expr',
42     op => 'between',
43     args => [
44       {-type => name => args => [qw/me id/] }, 
45       { -type => 'value', value => 500 },
46       { -type => 'value', value => 599 },
47     ],
48   }
49 ), "me.id BETWEEN ? AND ?",
50    "between";
51