Reverse: Converting to text template

master
Rob Emery 2016-05-18 21:05:35 +01:00
parent e71eb3c5d4
commit f8d20e524b
2 changed files with 30 additions and 35 deletions

View File

@ -10,20 +10,23 @@ zci answer_type => "reverse";
zci is_cached => 1;
handle remainder => sub {
my $in = $_;
my $in = $_;
return unless $in; # Guard against empty query.
#Filter out requests for DNA/RNA reverse complements, handled
# by the ReverseComplement goodie
return if $in =~ /^complement\s(of )?[ATCGURYKMSWBVDHN\s-]+$/i;
return unless $in; # Guard against empty query.
#Filter out requests for DNA/RNA reverse complements, handled
# by the ReverseComplement goodie
return if $in =~ /^complement\s(of )?[ATCGURYKMSWBVDHN\s-]+$/i;
my $out = reverse $in;
my $out = reverse $in;
return qq|Reversed "$_": | . $out,
structured_answer => {
input => [html_enc($in)],
operation => 'Reverse string',
result => html_enc($out),
return qq|Reversed "$_": | . $out, structured_answer => {
data => {
title => html_enc($out),
subtitle => "Reverse string: ".html_enc($in)
},
templates => {
group => 'text'
}
};
};

View File

@ -9,34 +9,26 @@ use DDG::Test::Goodie;
zci answer_type => 'reverse';
zci is_cached => 1;
sub build_test {
my ($input, $answer) = @_;
return test_zci(qq|Reversed "$input": $answer|, structured_answer => {
data => {
title => $answer,
subtitle => "Reverse string: $input"
},
templates => {
group => 'text'
}
});
}
ddg_goodie_test(
[qw( DDG::Goodie::Reverse )],
# Primary example query
'reverse text esrever' => test_zci(
'Reversed "esrever": reverse',
structured_answer => {
input => ['esrever'],
operation => 'Reverse string',
result => 'reverse'
}
),
'reverse text esrever' => build_test('esrever', 'reverse'),
# Other queries
'reverse text bla' => test_zci(
'Reversed "bla": alb',
structured_answer => {
input => ['bla'],
operation => 'Reverse string',
result => 'alb'
}
),
'reverse text blabla' => test_zci(
'Reversed "blabla": albalb',
structured_answer => {
input => ['blabla'],
operation => 'Reverse string',
result => 'albalb'
}
),
'reverse text bla' => build_test('bla', 'alb'),
'reverse text blabla' => build_test('blabla', 'albalb'),
'reverse' => undef,
#Should not trigger on a request for DNA/RNA reverse complement