File Coverage

File:t/09-sql-select.t
Coverage:100.0%

linestmtbrancondsubpodtimecode
1
1
1
1
24
3
9
use lib 'lib';
2
1
1
1
10
3
6
use strict;
3
1
1
1
8
2
15
use warnings;
4
5
1
1
1
15
6
25
use Test::More tests => 9;
6
1
8
BEGIN { use_ok('SQL::Select'); }
7
8
1
32
sub _Q { "'$_[0]'" }
9
10
1
12
my $select = SQL::Select->new;
11
1
11
$select->select( qw<name type label> )
12       ->from( '_columns' );
13
14
1
8
is $select->generate, <<_EOC_;
15select name, type, label from _columns;
16_EOC_
17
18
1
5
is "$select", <<_EOC_;
19select name, type, label from _columns;
20_EOC_
21
22
1
16
$select->where("table_name", '=', _Q('blah'));
23
24
1
14
is $select->generate, <<_EOC_;
25select name, type, label from _columns where table_name = 'blah';
26_EOC_
27
28
1
17
$select->order_by("foo");
29
30
1
13
is $select->generate, <<_EOC_;
31select name, type, label from _columns where table_name = 'blah' order by foo;
32_EOC_
33
34
1
18
$select->where("Foo", '>', 'bar')->where('Bar' => '3');
35
1
5
is "$select", <<'_EOC_';
36select name, type, label from _columns where table_name = 'blah' and Foo > bar and Bar = 3 order by foo;
37_EOC_
38
39
1
33
$select->reset( qw<name type label> )
40       ->from( '_columns' )->limit(5)->offset(29);
41
1
9
is $select->generate, <<_EOC_;
42select name, type, label from _columns limit 5 offset 29;
43_EOC_
44
45
1
20
$select->reset( qw<name> )->from("users")
46       ->order_by( foo => 'asc' )->order_by( bar => 'desc' )->limit(0);
47
1
12
is $select->generate, <<_EOC_;
48select name from users order by foo asc, bar desc limit 0;
49_EOC_
50
51
1
20
$select->reset( qw<name> )->from("users")->op('or')
52       ->where(foo => 1)->where(bar => 2)->where(baz => 3);
53
1
5
is "$select", <<_EOC_;
54select name from users where foo = 1 or bar = 2 or baz = 3;
55_EOC_
56