identifier expr builder
[dbsrgits/Data-Query.git] / t / expr.t
1 use strictures 1;
2 use Test::More qw(no_plan);
3 use Data::Query::ExprBuilder::Identifier;
4 use Data::Query::Constants qw(DQ_IDENTIFIER);
5
6 sub mk_expr {
7   local $_ = Data::Query::ExprBuilder::Identifier->new({
8     expr => {
9       type => DQ_IDENTIFIER,
10       elements => [],
11     },
12   });
13   $_[0]->()->{expr};
14 }
15
16 sub expr_is (&;@) {
17   my $sub = shift;
18   is_deeply(mk_expr($sub), @_);
19 }
20
21 expr_is { $_->foo }
22   {
23     type => DQ_IDENTIFIER,
24     elements => [ 'foo' ]
25   },
26   'Simple identifier ok';
27
28
29 expr_is { $_->foo->bar }
30   {
31     type => DQ_IDENTIFIER,
32     elements => [ 'foo', 'bar' ]
33   },
34   'Nested identifier ok';