diff --git a/lib/DDG/Goodie/Reverse.pm b/lib/DDG/Goodie/Reverse.pm index 9fd75c4a8..98d01f953 100644 --- a/lib/DDG/Goodie/Reverse.pm +++ b/lib/DDG/Goodie/Reverse.pm @@ -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' + } }; }; diff --git a/t/Reverse.t b/t/Reverse.t index 00ff2845f..cfdd13dee 100644 --- a/t/Reverse.t +++ b/t/Reverse.t @@ -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