$before = $self->newline . $self->indent($depth + $self->indentmap->{lc $keyword});
}
$before = '' if $depth == 0 and defined $starters{lc $keyword};
- return [$before, ' '];
+ return [$before, ''];
}
sub indent { ($_[0]->indent_string||'') x ( ( $_[0]->indent_amount || 0 ) * $_[1] ) }
return $self->fill_in_placeholder($bindargs);
}
elsif ($car eq 'PAREN') {
- return '(' .
- join(' ',
- map $self->_unparse($_, $bindargs, $depth + 2), @{$cdr}) .
- ($self->_is_key($cdr)?( $self->newline||'' ).$self->indent($depth + 1):'') . ') ';
+ return sprintf ('(%s)',
+ join (' ', map { $self->_unparse($_, $bindargs, $depth + 2) } @{$cdr} )
+ .
+ ($self->_is_key($cdr)
+ ? ( $self->newline||'' ) . $self->indent($depth + 1)
+ : ''
+ )
+ );
}
elsif ($car eq 'AND' or $car eq 'OR' or $car =~ / ^ $binary_op_re $ /x ) {
return join (" $car ", map $self->_unparse($_, $bindargs, $depth), @{$cdr});
for ( keys %{$sqlat->indentmap}) {
my ($l, $r) = @{$sqlat->pad_keyword($_, 1)};
- is($r, ' ', "right is a space for $_");
+ is($r, '', "right is empty for $_");
is($l, "\n " . ' ' x $sqlat->indentmap->{$_}, "left calculated correctly for $_" );
}
use Test::More;
use SQL::Abstract::Tree;
-my $placeholders = ['station', 'lolz'];
-
{
my $sqlat = SQL::Abstract::Tree->new({
fill_in_placeholders => 1,
placeholder_surround => [qw(; -)],
});
- is($sqlat->fill_in_placeholder($placeholders), q(;lolz-),
+ is($sqlat->fill_in_placeholder(['lolz']), q(;lolz-),
'placeholders are populated correctly'
);
}
placeholder_surround => [qw(< >)],
});
- is($sqlat->fill_in_placeholder($placeholders), q(<station>),
+ is($sqlat->fill_in_placeholder(['station']), q(<station>),
'placeholders are populated correctly and in order'
);
}
placeholder_surround => [qw(' ')],
});
- is $sqlat->format('SELECT ? as x, ? as y FROM Foo WHERE t > ? and z IN (?, ?, ?) ', ['frew', 'ribasushi', '2008-12-12', 1, 2, 3]),
+ is $sqlat->format('SELECT ? as x, ? as y FROM Foo WHERE t > ? and z IN (?, ?, ?) ', [qw/frew ribasushi 2008-12-12 1 2 3/]),
q[SELECT 'frew' as x, 'ribasushi' as y FROM Foo WHERE t > '2008-12-12' AND z IN ('1', '2', '3')], 'Complex placeholders work';
}