2012-09-19 21:01:41 -07:00
#!/usr/bin/env perl
use strict ;
use warnings ;
use Test::More ;
use DDG::Test::Goodie ;
use Convert::Braille ;
2013-03-31 21:43:58 -07:00
use utf8 ;
2012-09-19 21:01:41 -07:00
zci answer_type = > 'braille' ;
2014-10-06 11:00:41 -07:00
zci is_cached = > 1 ;
2012-09-19 21:01:41 -07:00
2016-03-29 20:55:05 -07:00
sub build_structured_answer {
2016-04-05 23:35:47 -07:00
my ( $ query , $ response ) = @ _ ;
2016-03-29 20:55:05 -07:00
return $ response ,
2014-10-06 11:00:41 -07:00
structured_answer = > {
2016-03-29 20:55:05 -07:00
data = > {
title = > $ response ,
2016-04-05 23:35:47 -07:00
subtitle = > 'Braille translation: ' . $ query ,
2016-03-29 20:55:05 -07:00
} ,
templates = > {
group = > 'text' ,
}
} ,
}
2014-10-06 11:00:41 -07:00
2016-03-29 20:55:05 -07:00
sub build_test { test_zci ( build_structured_answer ( @ _ ) ) }
2014-10-06 11:00:41 -07:00
2016-03-29 20:55:05 -07:00
ddg_goodie_test (
[ qw( DDG::Goodie::Braille ) ] ,
# Ascii/Unicode -> Braille
2016-04-05 23:35:47 -07:00
'hello in braille' = > build_test ( 'hello' , '⠓⠑⠇⠇⠕' ) ,
'hello to braille' = > build_test ( 'hello' , '⠓⠑⠇⠇⠕' ) ,
'translate to braille to braille' = > build_test ( 'translate to braille' , '⠞⠗⠁⠝⠎⠇⠁⠞⠑⠀⠞⠕⠀⠃⠗⠁⠊⠇⠇⠑' ) ,
'braille: asdf k' = > build_test ( 'asdf k' , '⠁⠎⠙⠋⠀⠅' ) ,
2016-03-29 20:55:05 -07:00
# Braille -> Ascii/Unicode
2016-04-05 23:35:47 -07:00
'⠓⠑⠀⠇⠇⠕' = > build_test ( '⠓⠑⠀⠇⠇⠕' , 'he llo' ) ,
'⠞⠗⠁⠝⠎⠇⠁⠞⠑⠀⠞⠕⠀⠃⠗⠁⠊⠇⠇⠑' = > build_test ( '⠞⠗⠁⠝⠎⠇⠁⠞⠑⠀⠞⠕⠀⠃⠗⠁⠊⠇⠇⠑' , 'translate to braille' ) ,
'⠁⠎⠙⠋⠀⠅' = > build_test ( '⠁⠎⠙⠋⠀⠅' , 'asdf k' ) ,
2016-03-29 20:55:05 -07:00
# Invalid Queries
'braille asdf k' = > undef ,
'how long to learn braille' = > undef ,
'braille to braille is good' = > undef ,
2012-09-19 21:01:41 -07:00
) ;
done_testing ;