Chage {-type => 'name', args => [] } to {-type => 'identifier', elements => [] }
[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 => identifier => elements => [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 => identifier => elements => [qw/me id/] }, 
45       { -type => 'value', value => 500 },
46       { -type => 'value', value => 599 },
47     ],
48   }
49 ), "(me.id BETWEEN ? AND ?)",
50    "between";
51