1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
use strict;
use warnings;
use Test::More;
use SQL::Tokenizer;
use constant SPACE => ' ';
use constant COMMA => ',';
use constant NL => "\n";
my $query;
my @query;
my @tokenized;
my @tests = (
{
description => qq{empty single quotes, RT #27797},
query => q{nvl(reward_type,'')='' and group_code = 'XXXX'},
wanted => [ 'nvl', '(', 'reward_type', ',', q{''}, ')', '=', q{''}, SPACE, 'and', SPACE, 'group_code', SPACE, '=', SPACE, q{'XXXX'} ],
},
);
plan tests => scalar @tests;
foreach my $test (@tests) {
my @tokenized = SQL::Tokenizer->tokenize( $test->{query} );
is_deeply( \@tokenized, $test->{wanted}, $test->{description} );
}
|