AozoraBunko-Checkerkun
view release on metacpan or search on metacpan
t/03_html_output.t view on Meta::CPAN
use strict;
use warnings;
use utf8;
use AozoraBunko::Checkerkun;
use Test::More;
binmode Test::More->builder->$_ => ':utf8' for qw/output failure_output todo_output/;
my %option = (
'gaiji' => 0, # JISå¤åããã§ãã¯ãã
'hansp' => 0, # åè§ã¹ãã¼ã¹ããã§ãã¯ãã
'hanpar' => 0, # åè§ã«ãã³ããã§ãã¯ãã
'zensp' => 0, # å
¨è§ã¹ãã¼ã¹ããã§ãã¯ãã
'zentilde' => 0, # å
¨è§ãã«ãããã§ãã¯ãã
'78hosetsu_tekiyo' => 0, # 78äºæå
æã®å¯¾è±¡ã¨ãªãä¸è¦ãªå¤å注è¨ããã§ãã¯ãã
'hosetsu_tekiyo' => 0, # å
æã®å¯¾è±¡ã¨ãªãä¸è¦ãªå¤å注è¨ããã§ãã¯ãã
'78' => 0, # 78äºæå
æ29åããã§ãã¯ãã
'jyogai' => 0, # æ°JISæ¼¢åã§å
æè¦æºã®é©ç¨é¤å¤ã¨ãªã104åããã§ãã¯ãã
'gonin1' => 0, # 誤èªããããæåããã§ãã¯ãã(1)
'gonin2' => 0, # 誤èªããããæåããã§ãã¯ãã(2)
'gonin3' => 0, # 誤èªããããæåããã§ãã¯ãã(3)
'simplesp' => 0, # åè§ã¹ãã¼ã¹ã¯ã_ãã§ãå
¨è§ã¹ãã¼ã¹ã¯ãâ¡ãã§åºåãã
'kouetsukun' => 0, # æ§åä½ç½®æå¯è½ãã§ãã«ã¼ãæ ¡é²åããæå¹ã«ãã
'output_format' => 'html', # 'plaintext' ã¾ã㯠'html'
);
subtest 'no options' => sub {
my $text = "\x{0000}\r\nï½´ ABãï¼£" x 2;
my $checker1 = AozoraBunko::Checkerkun->new(\%option);
is($checker1->check($text), qq|<span data-checkerkun-tag="ctrl" data-checkerkun-message="U+0000">\x{0000}</span>\r\n<span data-checkerkun-tag="hankata" data-checkerkun-message="åè§ã«ã¿ã«ã">ï½´</span> ABãï¼£| x 2);
};
subtest 'gaiji' => sub {
my %opts = %option;
my $text = '森é·å¤' x 2;
my $checker1 = AozoraBunko::Checkerkun->new(\%opts);
is($checker1->check($text), $text);
$opts{'gaiji'} = 1;
my $checker2 = AozoraBunko::Checkerkun->new(\%opts);
is($checker2->check($text), '森<span data-checkerkun-tag="gaiji" data-checkerkun-message="JISå¤å">é·</span>å¤' x 2);
};
subtest 'hansp' => sub {
my %opts = %option;
my $text = '太宰 治' x 2;
my $checker1 = AozoraBunko::Checkerkun->new(\%opts);
is($checker1->check($text), $text);
$opts{'hansp'} = 1;
my $checker2 = AozoraBunko::Checkerkun->new(\%opts);
is($checker2->check($text), '太宰<span data-checkerkun-tag="hansp" data-checkerkun-message="åè§ã¹ãã¼ã¹"> </span>æ²»' x 2);
};
subtest 'hanpar' => sub {
my %opts = %option;
my $text = '太)宰治(' x 2;
my $checker1 = AozoraBunko::Checkerkun->new(\%opts);
is($checker1->check($text), $text);
( run in 0.487 second using v1.01-cache-2.11-cpan-5a3173703d6 )