4 use Test::More tests => 9;
6 use_ok('SQL::Abstract') or BAIL_OUT( "$@" );
9 is SQL::Abstract->generate( [ -name => qw/me id/]), "me.id",
10 "Simple name generator";
12 is SQL::Abstract->generate(
14 [ -name => qw/me id/],
15 [ -name => qw/me foo bar/],
18 ), "me.id, me.foo.bar, bar",
21 is SQL::Abstract->generate(
22 [ -alias => [ -name => qw/me id/], "foobar", ]
26 is SQL::Abstract->generate(
28 [ '>', [-name => qw/me.id/], [-value => 500 ] ]
30 ), "WHERE me.id > ?", "where clause";
33 is SQL::Abstract->generate(
35 [ '>', [-name => qw/me.id/], [-value => 500 ] ],
36 [ '==', [-name => qw/me.name/], [-value => '200' ] ]
38 ), "WHERE me.id > ? AND me.name = ?", "where clause";
41 is SQL::Abstract->generate(
43 [ '>', [-name => qw/me.id/], [-value => 500 ] ],
44 [ '==', [-name => qw/me.name/], [-value => '200' ] ],
46 ), "WHERE me.id > ? OR me.name = ?", "where clause";
49 is SQL::Abstract->generate(
51 [ '>', [-name => qw/me.id/], [-value => 500 ] ],
53 [ '==', [-name => qw/me.name/], [-value => '200' ] ],
54 [ '==', [-name => qw/me.name/], [-value => '100' ] ]
57 ), "WHERE me.id > ? OR me.name = ? OR me.name = ?", "where clause";
59 is SQL::Abstract->generate(
61 [ '==', [-name => qw/me.id/], [-value => 500 ] ],
63 [ '>', [-name => qw/me.name/], [-value => '200' ] ],
64 [ '<', [-name => qw/me.name/], [-value => '100' ] ]
67 ), "WHERE me.id = ? OR (me.name > ? AND me.name < ?)", "where clause";