Fix typo in tests
[dbsrgits/SQL-Abstract-2.0-ish.git] / t / 001_basic.t
1 use strict;
2 use warnings;
3
4 use Test::More tests => 9;
5
6 use_ok('SQL::Abstract') or BAIL_OUT( "$@" );
7
8 is SQL::Abstract->generate( [ -name => qw/me id/]), "me.id",
9   "Simple name generator";
10
11 is SQL::Abstract->generate(
12   [ -list => 
13     [ -name => qw/me id/],
14     [ -name => qw/me foo bar/],
15     [ -name => qw/bar/]
16   ] 
17 ), "me.id, me.foo.bar, bar",
18   "List generator";
19
20 is SQL::Abstract->generate(
21   [ -alias => [ -name => qw/me id/], "foobar", ] 
22 ), "me.id AS foobar",
23   "Alias generator";
24
25 is SQL::Abstract->generate(
26   [ -where =>
27       [ '>', [-name => qw/me id/], [-value => 500 ] ]
28   ]
29 ), "WHERE me.id > ?", "where clause";
30
31
32 is SQL::Abstract->generate(
33   [ -where =>
34       [ '>', [-name => qw/me id/], [-value => 500 ] ],
35       [ '==', [-name => qw/me name/], [-value => '200' ] ]
36   ]
37 ), "WHERE me.id > ? AND me.name = ?", "where clause";
38
39
40 is SQL::Abstract->generate(
41   [ -where =>  -or =>
42       [ '>', [-name => qw/me id/], [-value => 500 ] ],
43       [ '==', [-name => qw/me name/], [-value => '200' ] ],
44   ]
45 ), "WHERE me.id > ? OR me.name = ?", "where clause";
46
47
48 is SQL::Abstract->generate(
49   [ -where =>  -or =>
50       [ '>', [-name => qw/me id/], [-value => 500 ] ],
51       [ -or => 
52         [ '==', [-name => qw/me name/], [-value => '200' ] ],
53         [ '==', [-name => qw/me name/], [-value => '100' ] ]
54       ]
55   ]
56 ), "WHERE me.id > ? OR me.name = ? OR me.name = ?", "where clause";
57
58 is SQL::Abstract->generate(
59   [ -where =>  -or =>
60       [ '==', [-name => qw/me id/], [-value => 500 ] ],
61       [ -and => 
62         [ '>', [-name => qw/me name/], [-value => '200' ] ],
63         [ '<', [-name => qw/me name/], [-value => '100' ] ]
64       ]
65   ]
66 ), "WHERE me.id = ? OR (me.name > ? AND me.name < ?)", "where clause";