Branch Coverage

blib/lib/Unicode/Japanese.pm
Criterion Covered Total %
branch 333 502 66.3


line true false branch
41 0 28 grep({$_ eq ':all';} @_) ? :
44 0 4 if $_ eq 'PurePerl'
45 1 3 if ($exp{$_} or $exp{'&' . $_}) { }
3 0 elsif ($_ eq 'no_I18N_Japanese') { }
61 1 27 if (@na)
83 0 27 if ($Unicode::Japanese::PurePerl)
107 0 27 if ($@)
126 0 27 if ($@)
136 0 27 if ($@)
141 0 27 unless ($use_xs)
150 27 0 if not defined $Unicode::Japanese::xs_loaderror
175 246 0 if (defined $pkg) { }
185 202 44 if @_
213 27 158 unless (defined $Unicode::Japanese::xs_loaderror)
216 1 26 if (defined &$Unicode::Japanese::AUTOLOAD)
223 0 184 unless my($pkg, $subname) = do { local($1, $2); $Unicode::Japanese::AUTOLOAD =~ /^(.*)::(\w+)$/ }
230 154 30 unless (defined &$ppsubname)
374 0 66 unless my($pkg, $subname) = do { local($1, $2); $Unicode::Japanese::PurePerl::AUTOLOAD =~ /^(.*)::(\w+)$/ }
394 0 220 unless my($subpkg, $subname) = $fullsubname =~ /^(.*)::(\w+)$/
398 0 220 unless (defined $$Unicode::Japanese::PurePerl::TABLE{$subname}{'offset'})
401 0 0 unless (defined $$Unicode::Japanese::PurePerl::TABLE{$subname}{'offset'})
403 0 0 if ($subname eq 'DESTROY')
416 0 220 if ($$Unicode::Japanese::PurePerl::TABLE{$subname}{'offset'} == -1)
422 0 220 unless seek $Unicode::Japanese::PurePerl::FH, $Unicode::Japanese::PurePerl::PROGLEN + $Unicode::Japanese::PurePerl::HEADLEN + $$Unicode::Japanese::PurePerl::TABLE{$subname}{'offset'}, 0
426 0 220 unless read $Unicode::Japanese::PurePerl::FH, $sub, $$Unicode::Japanese::PurePerl::TABLE{$subname}{'length'}
429 220 0 if ($] >= 5.008)
434 13 711 if defined $str
265 459 if (ref $str)
255 228 if (ref $icode)
32 198 if (ref $encode)
8 179 if ($] >= 5.008)
51 123 if ($encode eq 'base64') { }
13 112 if (defined $encode)
15 96 if ($icode eq 'unknown')
4 124 if ($icode eq 'auto')
10 114 if ($icode eq 'utf8') { }
14 103 elsif ($icode eq 'ucs2') { }
57 51 elsif ($icode eq 'ucs4') { }
4 30 elsif ($icode eq 'utf16-be') { }
0 34 elsif ($icode eq 'utf16-le') { }
0 34 elsif ($icode eq 'utf16') { }
9 25 elsif ($icode eq 'utf32-be') { }
22 29 elsif ($icode eq 'utf32-le') { }
10 85 elsif ($icode eq 'utf32') { }
2 140 elsif ($icode eq 'jis') { }
5 88 elsif ($icode eq 'euc' or $icode eq 'euc-jp') { }
34 6 elsif ($icode eq 'sjis' or $icode eq 'cp932') { }
79 7 elsif ($icode eq 'sjis-imode') { }
51 28 elsif ($icode eq 'sjis-imode1') { }
51 27 elsif ($icode eq 'sjis-imode2') { }
2 64 elsif ($icode eq 'utf8-imode') { }
0 66 elsif ($icode eq 'utf8-imode1') { }
2 106 elsif ($icode eq 'utf8-imode2') { }
8 106 elsif ($icode eq 'sjis-doti') { }
10 119 elsif ($icode eq 'sjis-doti1') { }
2 112 elsif ($icode eq 'sjis-jsky') { }
0 24 elsif ($icode eq 'sjis-jsky1') { }
57 6 elsif ($icode eq 'sjis-jsky2') { }
57 18 elsif ($icode eq 'jis-jsky') { }
69 9 elsif ($icode eq 'jis-jsky1') { }
69 1853 elsif ($icode eq 'jis-jsky2') { }
4 79 elsif ($icode eq 'utf8-jsky') { }
3 83 elsif ($icode eq 'utf8-jsky1') { }
18 69 elsif ($icode eq 'utf8-jsky2') { }
0 63 elsif ($icode eq 'jis-au') { }
1 62 elsif ($icode eq 'jis-au1') { }
4 54 elsif ($icode eq 'jis-au2') { }
3 0 elsif ($icode eq 'sjis-au') { }
5 0 elsif ($icode eq 'sjis-au1') { }
4 6 elsif ($icode eq 'sjis-au2') { }
3 7 elsif ($icode eq 'sjis-icon-au') { }
8 58 elsif ($icode eq 'sjis-icon-au1') { }
53 6 elsif ($icode eq 'sjis-icon-au2') { }
51 5 elsif ($icode eq 'euc-icon-au') { }
4 54 elsif ($icode eq 'euc-icon-au1') { }
0 52 elsif ($icode eq 'euc-icon-au2') { }
0 52 elsif ($icode eq 'jis-icon-au') { }
1 52 elsif ($icode eq 'jis-icon-au1') { }
3 55 elsif ($icode eq 'jis-icon-au2') { }
1 57 elsif ($icode eq 'utf8-icon-au') { }
6 56 elsif ($icode eq 'utf8-icon-au1') { }
0 6 elsif ($icode eq 'utf8-icon-au2') { }
0 6 elsif ($icode eq 'ascii') { }
7 5 elsif ($icode eq 'binary') { }
0 6 if (not defined $icode) { }
0 50 unless (defined $str)
50 0 $in <= 382 ? :
56 0 $in <= 252 ? :
6 56 $in <= 432 ? :
0 62 unless (defined $str)
6 56 $in <= 382 ? :
0 59 $in <= 252 ? :
0 96 unless (defined $str)
4 92 unless (defined $Unicode::Japanese::PurePerl::ei2u2)
0 43 $in <= 218 ? :
0 25 $in <= 155 ? :
0 25 $in <= 267 ? :
3 24 unless (defined $str)
0 2 unless (defined $Unicode::Japanese::PurePerl::ei2u2)
0 2 $in <= 218 ? :
2 1 $in <= 155 ? :
0 8 unless (defined $str)
1 32 unless (defined $Unicode::Japanese::PurePerl::s2u_table)
26 7 unless (defined $Unicode::Japanese::PurePerl::ej2u1)
25 0 $l < 128 ? :
0 25 $l >= 57344 && $l <= 65535 ? :
0 25 $l >= 33024 && $l <= 40959 ? :
2 25 $l >= 161 && $l <= 223 ? :
0 27 length $1 <= 2 ? :
0 29 unless (defined $str)
2 33 unless (defined $Unicode::Japanese::PurePerl::s2u_table)
1 26 unless (defined $Unicode::Japanese::PurePerl::ej2u1)
0 0 unless (defined $Unicode::Japanese::PurePerl::ej2u2)
0 0 $l < 128 ? :
0 0 $l >= 57344 && $l <= 65535 ? :
0 0 $l >= 33024 && $l <= 40959 ? :
0 27 $l >= 161 && $l <= 223 ? :
27 0 $l =~ s/^$Unicode::Japanese::PurePerl::RE{'E_JSKY_START'}($Unicode::Japanese::PurePerl::RE{'E_JSKY1v1'})//o ? :
27 0 length $1 <= 2 ? :
0 27 if ($] >= 5.008)
0 27 if ($l % 4 == 0 and $str =~ /^(?:$Unicode::Japanese::PurePerl::RE{'BOM4_BE'}|$Unicode::Japanese::PurePerl::RE{'BOM4_LE'})/o)
0 27 if ($l % 2 == 0 and $str =~ /^(?:$Unicode::Japanese::PurePerl::RE{'BOM2_BE'}|$Unicode::Japanese::PurePerl::RE{'BOM2_LE'})/o)
0 27 if ($str2 eq '')
0 30 if ($str2 eq '')
1 29 if ($l % 4 == 0)
1 29 unless ($str =~ /[\e\x80-\xff]/)
0 0 if ($str =~ /(?:$Unicode::Japanese::PurePerl::RE{'JIS_0208'})(?:[^\e]{2})*$Unicode::Japanese::PurePerl::RE{'E_JIS_AU'}/o) { }
0 0 elsif ($str =~ /(?:$Unicode::Japanese::PurePerl::RE{'E_JSKY'})/o) { }
0 0 if ($str =~ /$Unicode::Japanese::PurePerl::RE{'JIS_0208'}|$Unicode::Japanese::PurePerl::RE{'JIS_0212'}|$Unicode::Japanese::PurePerl::RE{'JIS_ASC'}|$Unicode::Japanese::PurePerl::RE{'JIS_KANA'}/o)
0 0 if ($str =~ /(?:$Unicode::Japanese::PurePerl::RE{'E_JSKY'})/o)
0 30 if ($str2 eq '')
30 0 if ($str2 eq '')
30 0 if ($str3 eq '')
0 30 if ($str3 eq '')
0 30 if ($str3 eq '')
0 30 if ($str2 eq '')
0 30 unless (defined $Unicode::Japanese::PurePerl::eu2j2)
0 27 if $c eq ''
0 27 if ($c =~ /^\e\$([GEFOPQ])(.)\x0f/)
1 26 if (1040384 <= $ch and $ch <= 1048575) { }
0 0 unless (defined $str)
0 0 $uc < 2048 ? :
0 0 $uc < 128 ? :
0 0 $Unicode::Japanese::PurePerl::U2T[$uc] ? :
0 27 unless (defined $str)
27 0 unless (defined $Unicode::Japanese::PurePerl::s2u_table)
27 0 unless (defined $Unicode::Japanese::PurePerl::ej2u1)
0 27 unless (defined $Unicode::Japanese::PurePerl::ej2u2)
0 27 unless (defined $str)
0 27 $ch < 128 ? :
0 27 $ch < 2048 ? :
0 30 length $1 == 3 ? :
0 30 length $1 == 2 ? :
1 29 length $1 == 1 ? :
0 0 defined $2 ? :
0 0 unless defined $2 ? "\000?" : $Unicode::Japanese::PurePerl::T2U{$1}
0 0 unless (defined $str)
0 0 unless (defined $Unicode::Japanese::PurePerl::ea2u1)
0 30 $c eq '' ? :
30 0 $1 > 0 && $1 <= 330 ? :
30 0 unless (defined $str)
0 30 unless (defined $Unicode::Japanese::PurePerl::ea2u2)
0 30 $c eq '' ? :
0 30 $1 > 0 && $1 <= 822 ? :
0 30 unless $Unicode::Japanese::PurePerl::J2S[unpack 'n', $1]
0 4 if ($esc =~ /^$Unicode::Japanese::PurePerl::RE{'JIS_0208'}/)
0 0 if ($esc eq $Unicode::Japanese::PurePerl::ESC{'JIS_0212'}) { }
4 0 elsif (not $esc =~ /^$Unicode::Japanese::PurePerl::RE{'JIS_ASC'}/) { }
0 4 $c1 < 223 ? :
0 4 $c1 < 223 ? :
0 4 if ($c1 % 2) { }
0 41 if ($esc =~ /^$Unicode::Japanese::PurePerl::RE{'JIS_0208'}/)
0 1 if ($esc eq $Unicode::Japanese::PurePerl::ESC{'JIS_0212'}) { }
0 1 elsif (not $esc =~ /^$Unicode::Japanese::PurePerl::RE{'JIS_ASC'}/) { }
35 1 $c1 < 223 ? :
36 2 $c1 < 223 ? :
1 38 if ($c1 % 2) { }
1 39 if $c1 == 235
1 40 if $c1 == 236
0 41 if $c1 == 237
0 17 if $c1 == 238
0 17 unless $Unicode::Japanese::PurePerl::S2J[unpack 'n', $1]
0 17 if ($s =~ /^$Unicode::Japanese::PurePerl::RE{'SJIS_KANA'}/o) { }
1 16 $c1 >= 224 ? :
1 15 $c1 >= 224 ? :
0 15 if (159 <= $c2) { }
1 14 unless (defined $str)
1 13 unless (defined $Unicode::Japanese::PurePerl::s2u_table)
0 13 $l < 128 ? :
0 13 $l >= 57344 && $l <= 64767 ? :
0 13 $l >= 33024 && $l <= 40959 ? :
1 12 $l >= 161 && $l <= 223 ? :
0 12 unless $Unicode::Japanese::PurePerl::S2U{$1}
0 12 if ($s =~ /^$Unicode::Japanese::PurePerl::RE{'SJIS_KANA'}/o) { }
1 11 if $c1 == 246
1 10 if $c1 == 247
0 10 if $c1 == 243
1 9 if $c1 == 244
1 8 $c1 >= 224 ? :
0 8 $c1 >= 224 ? :
0 8 if (159 <= $c2) { }
0 8 unless (defined $str)
0 8 unless (defined $Unicode::Japanese::PurePerl::s2u_table)
1 7 unless (defined $Unicode::Japanese::PurePerl::ea2u1s)
1 6 $l < 128 ? :
0 6 $l >= 57344 && $l <= 64767 ? :
1 5 $l >= 60160 && $l <= 61183 ? :
1 4 $l >= 33024 && $l <= 40959 ? :
0 4 $l >= 161 && $l <= 223 ? :
1 3 unless $Unicode::Japanese::PurePerl::SA2U1{$1}
1 2 unless (defined $str)
0 2 unless (defined $Unicode::Japanese::PurePerl::s2u_table)
1 1 unless (defined $Unicode::Japanese::PurePerl::ea2u2s)
1 0 $l < 128 ? :
0 0 $l >= 57344 && $l <= 64767 ? :
0 0 $l >= 60160 && $l <= 61183 ? :
0 0 $l >= 33024 && $l <= 40959 ? :
0 0 $l >= 161 && $l <= 223 ? :
0 0 unless $Unicode::Japanese::PurePerl::SA2U2{$1}
0 0 unless (defined $str)
0 0 unless (defined $Unicode::Japanese::PurePerl::s2u_table)
0 0 unless (defined $Unicode::Japanese::PurePerl::ed2u)
0 0 $2 >= 61440 && $2 <= 62719 ? :
0 0 $l < 128 ? :
0 0 $l >= 57344 && $l <= 65535 ? :
0 17 $l >= 61440 && $l <= 62719 ? :
435 0 220 if ($@)
476 114 765 if not $Unicode::Japanese::PurePerl::PID == $$
483 123 2026 if ($INC{$file})
485 134 1923 unless open $Unicode::Japanese::PurePerl::FH, $INC{$file}
492 1846 272 if (-f "$mypath/$file")
494 178 1940 unless open $Unicode::Japanese::PurePerl::FH, "$mypath/$file"
508 654 1742 if (not defined $Unicode::Japanese::PurePerl::HEADLEN)
518 62 45098 if $line =~ /^__DATA__/
522 105 2122 unless read $Unicode::Japanese::PurePerl::FH, $Unicode::Japanese::PurePerl::HEADLEN, 4
525 9 371 unless read $Unicode::Japanese::PurePerl::FH, $Unicode::Japanese::PurePerl::TABLE, $Unicode::Japanese::PurePerl::HEADLEN
529 253 1809 if ($@)
533 34 1933 unless (defined $Unicode::Japanese::PurePerl::TABLE)
553 186 1695 unless exists $$Unicode::Japanese::PurePerl::TABLE{$file}
559 1 1870 unless seek $Unicode::Japanese::PurePerl::FH, $Unicode::Japanese::PurePerl::PROGLEN + $Unicode::Japanese::PurePerl::HEADLEN + $$Unicode::Japanese::PurePerl::TABLE{$file}{'offset'}, 0
563 3 1867 unless read $Unicode::Japanese::PurePerl::FH, $data, $$Unicode::Japanese::PurePerl::TABLE{$file}{'length'}
576 22 1210 if (@_) { }
581 45 1438 if $_ eq 're'
582 171 1394 if $_ eq 'tr'
583 2 1234 if $_ eq 'format'
584 1 1233 if $_ eq 'string'
600 261 676 if (@_) { }
605 1 1209 if $_ eq 're'
606 3 1206 if $_ eq 'tr'
607 9 1197 if $_ eq 'format'
608 260 937 if $_ eq 'string'