Merge 'and_or' into 'trunk'
[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 },
71519cf6 22 { # it may look odd, but this is the desired behaviour (mst)
23 given => 'colA DESC',
24 expects => ' ORDER BY colA DESC',
25 expects_quoted => ' ORDER BY `colA DESC`',
26 },
f5aab26e 27 {
28 given => [qw/colA colB/],
29 expects => ' ORDER BY colA, colB',
30 expects_quoted => ' ORDER BY `colA`, `colB`',
31 },
71519cf6 32 { # it may look odd, but this is the desired behaviour (mst)
33 given => ['colA ASC', 'colB DESC'],
34 expects => ' ORDER BY colA ASC, colB DESC',
35 expects_quoted => ' ORDER BY `colA ASC`, `colB DESC`',
36 },
f5aab26e 37 {
38 given => {-asc => 'colA'},
39 expects => ' ORDER BY colA ASC',
40 expects_quoted => ' ORDER BY `colA` ASC',
41 },
42 {
43 given => {-desc => 'colB'},
44 expects => ' ORDER BY colB DESC',
45 expects_quoted => ' ORDER BY `colB` DESC',
46 },
47 {
48 given => [{-asc => 'colA'}, {-desc => 'colB'}],
49 expects => ' ORDER BY colA ASC, colB DESC',
50 expects_quoted => ' ORDER BY `colA` ASC, `colB` DESC',
51 },
1cfa1db3 52 {
53 given => ['colA', {-desc => 'colB'}],
54 expects => ' ORDER BY colA, colB DESC',
55 expects_quoted => ' ORDER BY `colA`, `colB` DESC',
56 },
b6475fb1 57 {
58 given => undef,
59 expects => '',
60 expects_quoted => '',
61 },
f5aab26e 62 );
63
f5aab26e 64
65plan tests => (scalar(@cases) * 2);
66
6dcf723c 67my $sql = SQL::Abstract->new;
68my $sqlq = SQL::Abstract->new({quote_char => '`'});
69
f5aab26e 70for my $case( @cases){
71 is($sql->_order_by($case->{given}), $case->{expects});
72 is($sqlq->_order_by($case->{given}), $case->{expects_quoted});
73}