patch from mendel, using Test::Builder
[scpubgit/Q-Branch.git] / t / 06order_by.t
CommitLineData
f5aab26e 1#!/usr/bin/perl
2
3use strict;
4use warnings;
5use Test::More;
6
7use SQL::Abstract;
8
5aad8cf3 9use SQL::Abstract::Test import => ['is_same_sql_bind'];
f5aab26e 10my @cases =
11 (
12 {
13 given => \'colA DESC',
14 expects => ' ORDER BY colA DESC',
15 expects_quoted => ' ORDER BY colA DESC',
16 },
17 {
18 given => 'colA',
19 expects => ' ORDER BY colA',
20 expects_quoted => ' ORDER BY `colA`',
21 },
22 {
23 given => [qw/colA colB/],
24 expects => ' ORDER BY colA, colB',
25 expects_quoted => ' ORDER BY `colA`, `colB`',
26 },
27 {
28 given => {-asc => 'colA'},
29 expects => ' ORDER BY colA ASC',
30 expects_quoted => ' ORDER BY `colA` ASC',
31 },
32 {
33 given => {-desc => 'colB'},
34 expects => ' ORDER BY colB DESC',
35 expects_quoted => ' ORDER BY `colB` DESC',
36 },
37 {
38 given => [{-asc => 'colA'}, {-desc => 'colB'}],
39 expects => ' ORDER BY colA ASC, colB DESC',
40 expects_quoted => ' ORDER BY `colA` ASC, `colB` DESC',
41 },
1cfa1db3 42 {
43 given => ['colA', {-desc => 'colB'}],
44 expects => ' ORDER BY colA, colB DESC',
45 expects_quoted => ' ORDER BY `colA`, `colB` DESC',
46 },
b6475fb1 47 {
48 given => undef,
49 expects => '',
50 expects_quoted => '',
51 },
f5aab26e 52 );
53
54my $sql = SQL::Abstract->new;
55my $sqlq = SQL::Abstract->new({quote_char => '`'});
56
57plan tests => (scalar(@cases) * 2);
58
59for my $case( @cases){
60 is($sql->_order_by($case->{given}), $case->{expects});
61 is($sqlq->_order_by($case->{given}), $case->{expects_quoted});
62}