AozoraBunko-Checkerkun
view release on metacpan or search on metacpan
t/01_basic.t view on Meta::CPAN
use strict;
use warnings;
use utf8;
use AozoraBunko::Checkerkun;
use Test::More;
use Test::Fatal;
binmode Test::More->builder->$_ => ':utf8' for qw/output failure_output todo_output/;
can_ok('AozoraBunko::Checkerkun', qw/new check/);
my %option = (
'gaiji' => 1, # JISå¤åããã§ãã¯ãã
'hansp' => 1, # åè§ã¹ãã¼ã¹ããã§ãã¯ãã
'hanpar' => 1, # åè§ã«ãã³ããã§ãã¯ãã
'zensp' => 0, # å
¨è§ã¹ãã¼ã¹ããã§ãã¯ãã
'zentilde' => 1, # å
¨è§ãã«ãããã§ãã¯ãã
'78hosetsu_tekiyo' => 1, # 78äºæå
æã®å¯¾è±¡ã¨ãªãä¸è¦ãªå¤å注è¨ããã§ãã¯ãã
'hosetsu_tekiyo' => 1, # å
æã®å¯¾è±¡ã¨ãªãä¸è¦ãªå¤å注è¨ããã§ãã¯ãã
'78' => 0, # 78äºæå
æ29åããã§ãã¯ãã
'jyogai' => 0, # æ°JISæ¼¢åã§å
æè¦æºã®é©ç¨é¤å¤ã¨ãªã104åããã§ãã¯ãã
'gonin1' => 0, # 誤èªããããæåããã§ãã¯ãã(1)
'gonin2' => 0, # 誤èªããããæåããã§ãã¯ãã(2)
'gonin3' => 0, # 誤èªããããæåããã§ãã¯ãã(3)
'simplesp' => 0, # åè§ã¹ãã¼ã¹ã¯ã_ãã§ãå
¨è§ã¹ãã¼ã¹ã¯ãâ¡ãã§åºåãã
'kouetsukun' => 0, # æ§åä½ç½®æå¯è½ãã§ãã«ã¼ãæ ¡é²åããæå¹ã«ãã
'output_format' => 'plaintext', # 'plaintext' ã¾ã㯠'html'
);
subtest 'new method' => sub {
my $exception;
$exception = exception { AozoraBunko::Checkerkun->new; };
is($exception, undef, 'default options');
$exception = exception { AozoraBunko::Checkerkun->new(%option) };
is($exception, undef, 'valid options hash');
$exception = exception { AozoraBunko::Checkerkun->new(\%option) };
is($exception, undef, 'valid options hashref');
my %invalid_option = %option;
$invalid_option{'hogehoge'} = 0;
$exception = exception { AozoraBunko::Checkerkun->new(%invalid_option) };
like($exception, qr/Unknown option: 'hogehoge'/, 'invalid option hash');
$exception = exception { AozoraBunko::Checkerkun->new(\%invalid_option) };
like($exception, qr/Unknown option: 'hogehoge'/, 'invalid option hashref');
my %invalid_output_format_option = %option;
$invalid_output_format_option{'output_format'} = 'image';
$exception = exception { AozoraBunko::Checkerkun->new(\%invalid_output_format_option) };
like($exception, qr/Output format option must be 'plaintext' or 'html'/, 'invalid output format option');
my %valid_output_format_option = %option;
$valid_output_format_option{'output_format'} = 'html';
$exception = exception { AozoraBunko::Checkerkun->new(\%valid_output_format_option) };
is($exception, undef, 'valid output format option');
};
subtest 'check method' => sub {
my $checker = AozoraBunko::Checkerkun->new;
ok($checker->check('ã»ãã»ã'), 'check method ok');
$checker = AozoraBunko::Checkerkun->new;
( run in 0.968 second using v1.01-cache-2.11-cpan-ceb78f64989 )