LeetSpeak: Convert to Text Template (#3073)

LeetSpeak: Converting to Text Template
master
Ben Moon 2016-05-16 19:52:13 +01:00
commit 3b32b27bc8
2 changed files with 28 additions and 46 deletions

View File

@ -44,12 +44,15 @@ handle remainder => sub {
my $translation = join '', map { $alphabet{$_} // $_ } split //, lc $text;
return "Leet Speak: $translation",
structured_answer => {
input => [$text],
operation => 'Leet speak',
result => $translation,
};
return "Leet Speak: $translation", structured_answer => {
data => {
title => $translation,
subtitle => "Leet speak: $text"
},
templates => {
group => 'text'
}
};
};
1;

View File

@ -12,48 +12,27 @@ use utf8;
zci answer_type => 'leet_speak';
zci is_cached => 1;
sub build_test
{
my ($text, $title, $input) = @_;
return test_zci($text, structured_answer => {
data => {
title => $title,
subtitle => "Leet speak: $input",
},
templates => {
group => 'text'
}
});
}
ddg_goodie_test(
['DDG::Goodie::LeetSpeak'],
'leetspeak hello world !' => test_zci(
'Leet Speak: |-|3|_|_0 \^/0|2|_|) !',
structured_answer => {
input => ['hello world !'],
operation => 'Leet speak',
result => '|-|3|_|_0 \^/0|2|_|) !'
}
),
'l33tsp34k hElLo WORlD !' => test_zci(
'Leet Speak: |-|3|_|_0 \^/0|2|_|) !',
structured_answer => {
input => ['hElLo WORlD !'],
operation => 'Leet speak',
result => '|-|3|_|_0 \^/0|2|_|) !'
}
),
'what is l33t' => test_zci(
q~Leet Speak: \^/|-|/-\'][' 15~,
structured_answer => {
input => ['what is'],
operation => 'Leet speak',
result => q~\^/|-|/-\'][' 15~,
}
),
'leet speak leetspeak' => test_zci(
q~Leet Speak: |_33']['5|D3/-\|<~,
structured_answer => {
input => ['leetspeak'],
operation => 'Leet speak',
result => q~|_33']['5|D3/-\|<~,
}
),
'l33t sp34k /!§ ;€' => test_zci(
q~Leet Speak: /!§ ;€~,
structured_answer => {
input => ['/!§ ;€'],
operation => 'Leet speak',
result => q~/!§ ;€~,
}
),
'leetspeak hello world !' => build_test('Leet Speak: |-|3|_|_0 \^/0|2|_|) !', '|-|3|_|_0 \^/0|2|_|) !', 'hello world !'),
'l33tsp34k hElLo WORlD !' => build_test('Leet Speak: |-|3|_|_0 \^/0|2|_|) !', '|-|3|_|_0 \^/0|2|_|) !', 'hElLo WORlD !'),
'what is l33t' => build_test(q~Leet Speak: \^/|-|/-\'][' 15~, q~\^/|-|/-\'][' 15~, 'what is'),
'leet speak leetspeak' => build_test(q~Leet Speak: |_33']['5|D3/-\|<~, q~|_33']['5|D3/-\|<~, 'leetspeak'),
'l33t sp34k /!§ ;€' => build_test(q~Leet Speak: /!§ ;€~, q~/!§ ;€~, '/!§ ;€'),
'l33tsp34k' => undef,
);