Branch Coverage

blib/lib/Lingua/ENG/Inflect.pm
Criterion Covered Total %
branch 359 440 81.5


line true false branch
73 1 1711 unless (@_)
77 5 1706 if (@_ == 1 and not $_[0] =~ /$classical_mode/u)
78 2 3 $_[0] ? :
83 0 2552 unless ($arg =~ /$classical_mode/u)
86 2546 6 if (@_ and not $_[0] =~ /$classical_mode/u) { }
89 1695 857 if ($arg eq "all")
90 848 847 $classical{'all'} ? :
99 0 0 if (defined $_[0]) { }
102 0 0 if not defined $_[1] or $_[1]
123 0 0 unless (s/NUM\(\s*?(?:([^),]*)(?:,([^)]*))?)?\)/NUM($1, $2);/eux)
705 0 6 if (not eval "'' =~ m/$_[0]/; 1;" or $@)
714 6 0 if (defined $_[1])
717 0 6 if (not eval "qq{$_[1]}; 1;" or $@)
766 8 36 if ($word =~ /^(?:$_[$i])$/iu)
768 0 8 unless defined $_[$i + 1]
793 96 77 if ($classical{'all'}) { }
794 1148 9115 $orig =~ /^[A-Z]/u ? :
12 10263 $orig =~ /^[A-Z]+$/u ? :
10 10275 $orig =~ /^I$/u ? :
805 0 1704 unless $word
817 0 6553 unless $word
827 0 2028 unless $word
838 0 0 unless $word
844 60 3324 unless _PL_eq(@_, \&Lingua::ENG::Inflect::PL_N) or _PL_eq(@_, \&Lingua::ENG::Inflect::PL_V)
855 894 2610 if not $result and $word1 eq $word2
856 1043 2461 if not $result and $word1 eq &$PL($word2)
857 1043 2461 if not $result and &$PL($word1) eq $word2
859 172 3332 if not $result and $word1 eq &$PL($word2)
860 172 3332 if not $result and &$PL($word1) eq $word2
863 3384 120 if ($PL == \&Lingua::ENG::Inflect::PL or $PL == \&Lingua::ENG::Inflect::PL_N)
865 0 3384 if not $result and _PL_check_plurals_N($word1, $word2)
867 0 3384 if not $result and _PL_check_plurals_N($word2, $word1)
870 0 3504 if ($PL == \&Lingua::ENG::Inflect::PL or $PL == \&Lingua::ENG::Inflect::PL_ADJ)
872 0 0 if not $result and _PL_check_plurals_ADJ($word1, $word2, $PL)
887 0 1920 if $_ eq $pair
888 0 10320 if $_ eq $pair
890 0 240 if _PL_reg_plurals($pair, $PL_sb_C_a_ata, "as", "ata") or _PL_reg_plurals($pair, $PL_sb_C_is_ides, "is", "ides") or _PL_reg_plurals($pair, $PL_sb_C_a_ae, "s", "e") or _PL_reg_plurals($pair, $PL_sb_C_en_ina, "ens", "ina") or _PL_reg_plurals($pair, $PL_sb_C_um_a, "ums", "a") or _PL_reg_plurals($pair, $PL_sb_C_us_i, "uses", "i") or _PL_reg_plurals($pair, $PL_sb_C_on_a, "ons", "a") or _PL_reg_plurals($pair, $PL_sb_C_o_i, "os", "i") or _PL_reg_plurals($pair, $PL_sb_C_ex_ices, "exes", "ices") or _PL_reg_plurals($pair, $PL_sb_C_ix_ices, "ixes", "ices") or _PL_reg_plurals($pair, $PL_sb_C_i, "s", "i") or _PL_reg_plurals($pair, $PL_sb_C_im, "s", "im") or _PL_reg_plurals($pair, ".*eau", "s", "x") or _PL_reg_plurals($pair, ".*ieu", "s", "x") or _PL_reg_plurals($pair, ".*tri", "xes", "ces") or _PL_reg_plurals($pair, ".{2,}[yia]n", "xes", "ges")
916 0 0 unless $word1a =~ s/'s?$//u
917 0 0 unless $word2a =~ s/'s?$//u
918 0 0 unless $word1b =~ s/s'$//u
919 0 0 unless $word2b =~ s/s'$//u
921 0 0 if ($word1a)
923 0 0 if $word2a and _PL_check_plurals_N($word1a, $word2a) || _PL_check_plurals_N($word2a, $word1a)
925 0 0 if $word2b and _PL_check_plurals_N($word1a, $word2b) || _PL_check_plurals_N($word2b, $word1a)
928 0 0 if ($word1b)
930 0 0 if $word2a and _PL_check_plurals_N($word1b, $word2a) || _PL_check_plurals_N($word2a, $word1b)
932 0 0 if $word2b and _PL_check_plurals_N($word1b, $word2b) || _PL_check_plurals_N($word2b, $word1b)
946 0 8256 if not defined $count and defined $persistent_count
951 6 8250 defined $count && $count =~ /^($PL_count_one)$/iou || defined $count && $classical{'zero'} && $count =~ /^($PL_count_zero)$/iou ? :
955 6 8250 if $count == 1
959 3 8247 if defined($value = ud_match($word, @PL_sb_user_defined))
963 0 8247 if $word eq ""
965 714 7533 if $word =~ /^($PL_sb_uninflected)$/iu
968 42 7491 if $classical{'herd'} and $word =~ /^($PL_sb_uninflected_herd)$/iu
973 58 7433 if $word =~ /^(?:$PL_sb_postfix_adj)$/iu and $value = $2
978 8 7425 if $word =~ /^(?:$PL_sb_prep_dual_compound)$/iu and $value = [$2, $3]
984 122 7303 if $word =~ /^(?:$PL_sb_prep_compound)$/iu and $value = $2
992 184 7119 if $word =~ /^((?:$PL_prep)\s+)($PL_pron_acc)$/iu
994 130 6989 if $value = $PL_pron_nom{lc $word}
998 28 6961 if $word =~ /^($PL_pron_acc)$/iu
1004 332 6629 if $word =~ /(.*)\b($PL_sb_irregular)$/iu
1005 264 6365 if $word =~ /($PL_sb_U_man_mans)$/iu
1007 8 6357 if $word =~ /(\S*)quy$/iu
1009 18 22 $classical{'persons'} ? :
40 6317 if $word =~ /(\S*)(person)$/iu
1013 162 6155 if $word =~ /(.*)man$/iu
1014 48 6107 if $word =~ /(.*[ml])ouse$/iu
1015 8 6099 if $word =~ /(.*)goose$/iu
1016 8 6091 if $word =~ /(.*)tooth$/iu
1017 10 6081 if $word =~ /(.*)foot$/iu
1021 4 6077 if $word =~ /(.*)ceps$/iu
1022 24 6053 if $word =~ /(.*)zoon$/iu
1023 32 6021 if $word =~ /(.*[csx])is$/iu
1024 24 5997 if $word =~ /($PL_sb_U_ch_chs)ch$/iu
1025 24 5973 if $word =~ /($PL_sb_U_ex_ices)ex$/iu
1026 16 5957 if $word =~ /($PL_sb_U_ix_ices)ix$/iu
1027 72 5885 if $word =~ /($PL_sb_U_um_a)um$/iu
1028 72 5813 if $word =~ /($PL_sb_U_us_i)us$/iu
1029 72 5741 if $word =~ /($PL_sb_U_on_a)on$/iu
1030 32 5709 if $word =~ /($PL_sb_U_a_ae)$/iu
1034 4060 1649 if ($classical{'ancient'})
1036 31 4029 if $word =~ /(.*)trix$/iu
1037 54 3975 if $word =~ /(.*)eau$/iu
1038 12 3963 if $word =~ /(.*)ieu$/iu
1039 24 3939 if $word =~ /(.{2,}[yia])nx$/iu
1040 24 3915 if $word =~ /($PL_sb_C_en_ina)en$/iu
1041 49 3866 if $word =~ /($PL_sb_C_ex_ices)ex$/iu
1042 6 3860 if $word =~ /($PL_sb_C_ix_ices)ix$/iu
1043 169 3691 if $word =~ /($PL_sb_C_um_a)um$/iu
1044 84 3607 if $word =~ /($PL_sb_C_us_i)us$/iu
1045 28 3579 if $word =~ /($PL_sb_C_us_us)$/iu
1046 102 3477 if $word =~ /($PL_sb_C_a_ae)$/iu
1047 132 3345 if $word =~ /($PL_sb_C_a_ata)a$/iu
1048 66 3279 if $word =~ /($PL_sb_C_is_ides)is$/iu
1049 48 3231 if $word =~ /($PL_sb_C_o_i)o$/iu
1050 6 3225 if $word =~ /($PL_sb_C_on_a)on$/iu
1051 18 3207 if $word =~ /$PL_sb_C_im$/iu
1052 12 3195 if $word =~ /$PL_sb_C_i$/iu
1057 1338 3506 if $word =~ /^($PL_sb_singular_s)$/iu
1058 60 0 if $word =~ /^([A-Z].*s)$/u and $classical{'names'}
1059 16 3430 if $word =~ /^(.*[^z])(z)$/iu
1060 229 3201 if $word =~ /^(.*)([cs]h|x|zz|ss)$/iu
1065 56 3145 if $word =~ /(.*[eao])lf$/iu
1066 28 3117 if $word =~ /(.*[^d])eaf$/iu
1067 44 3073 if $word =~ /(.*[nlw])ife$/iu
1068 24 3049 if $word =~ /(.*)arf$/iu
1072 60 2989 if $word =~ /(.*[aeiou])y$/iu
1073 17 4 if $word =~ /([A-Z].*y)$/u and $classical{'names'}
1074 62 2910 if $word =~ /(.*)y$/iu
1078 272 2638 if $word =~ /$PL_sb_U_o_os$/iu
1079 72 2566 if $word =~ /[aeiou]o$/iu
1080 88 2478 if $word =~ /o$/iu
1090 0 3685 if not defined $count and defined $persistent_count
1093 0 3685 defined $count && $count =~ /^($PL_count_one)$/iou || defined $count && $classical{'zero'} && $count =~ /^($PL_count_zero)$/iou ? :
1096 0 3685 if $count =~ /^($PL_count_one)$/iou
1102 2 3683 if defined($value = ud_match($word, @PL_v_user_defined))
1107 128 3555 if $word =~ /^($PL_v_irregular_pres)((\s.*)?)$/iu
1111 60 3495 if $word =~ /^($PL_v_irregular_non_pres)((\s.*)?)$/iu
1117 30 3465 if $word =~ /^($PL_v_irregular_pres)(n't(\s.*)?)$/iu
1119 8 3457 if $word =~ /^\S+n't\b/iu
1124 616 2841 if $word =~ /^($PL_v_special_s)$/u
1125 152 2689 if $word =~ /\s/u
1129 16 2673 if $word =~ /^(.*)([cs]h|[x]|zz|ss)es$/iu
1131 9 2664 if $word =~ /^(..+)ies$/iu
1133 96 2568 if $word =~ /($PL_v_oes_oe)$/u
1134 0 2568 if $word =~ /^(.+)oes$/iu
1136 175 2393 if $word =~ /^(.*[^s])s$/iu
1146 0 1654 if not defined $count and defined $persistent_count
1149 0 1654 defined $count && $count =~ /^($PL_count_one)$/iou || defined $count && $classical{'zero'} && $count =~ /^($PL_count_zero)$/iou ? :
1152 0 1654 if $count =~ /^($PL_count_one)$/iou
1157 4 1650 if $word =~ /^($PL_v_ambiguous_pres)((\s.*)?)$/iu
1161 18 1632 if $word =~ /^($PL_v_ambiguous_non_pres)((\s.*)?)$/iu
1173 0 1704 if not defined $count and defined $persistent_count
1176 4 1700 defined $count && $count =~ /^($PL_count_one)$/iou || defined $count && $classical{'zero'} && $count =~ /^($PL_count_zero)$/iou ? :
1179 4 1700 if $count =~ /^($PL_count_one)$/iou
1184 3 1697 if defined($value = ud_match($word, @PL_adj_user_defined))
1189 10 1687 if $word =~ /^($PL_adj_special)$/iu
1194 16 1671 if $word =~ /^($PL_adj_poss)$/iu
1196 14 1657 if ($word =~ /^(.*)'s?$/u)
1197 6 8 $pl =~ /s$/u ? :
1237 0 109 unless $word
1248 0 109 if not defined $count and defined $persistent_count
1251 0 109 if defined $count and not $count =~ /^($PL_count_one)$/iou
1257 0 109 if defined($value = ud_match($word, @A_a_user_defined))
1261 0 109 if $word =~ /^($A_explicit_an)/iu
1262 0 109 if $word =~ /^[aefhilmnorsx]$/iu
1263 0 109 if $word =~ /^[bcdgjkpqtuvwyz]$/iu
1267 0 109 if $word =~ /^($A_abbrev)/oux
1268 0 109 if $word =~ /^[aefhilmnorsx][.-]/iu
1269 11 98 if $word =~ /^[a-z][.-]/iu
1273 53 45 if $word =~ /^[^aeiouy]/iu
1277 6 39 if $word =~ /^e[uw]/iu
1278 2 37 if $word =~ /^onc?e\b/iu
1279 16 21 if $word =~ /^uni([^nmd]|mo)/iu
1280 14 7 if $word =~ /^u[bcfhjkqrst][aeiou]/iu
1284 2 5 if $word =~ /^U[NK][AIEO]?/u
1288 0 5 if $word =~ /^[aeiou]/iu
1292 0 5 if $word =~ /^($A_y_cons)/iou
1305 0 4 if not defined $count and defined $persistent_count
1307 2 2 unless $count
1309 2 2 unless $count =~ /^$PL_count_zero$/u
1319 4 1 unless s/ie$/y/u or s/ue$/u/u or s/([auy])e$/$1/u or s/ski$/ski/u or s/i$//u or s/([^e])e$/$1/u or /er$/u
1360 82 82 if ($num =~ /\d/u) { }
1387 0 1120 if $ind > $#mill
1388 1120 0 $ind < @mill ? :
1394 179 70 $_[0] && $_[1] ? :
249 377 if $_[0] ne 1
1401 89 15 $_[1] || $_[2] ? :
104 24 if $_[0]
1403 12 12 if $_[1] or $_[2]
1411 85 954 if ($group == 1) { }
63 891 elsif ($group == 2) { }
63 828 elsif ($group == 3) { }
48 780 elsif ($num + 0 == 0) { }
44 736 elsif ($num + 0 == 1) { }
1413 231 45 $1 ? :
45 276 $1 == 1 ? :
1417 3 7 $2 ? :
92 10 $1 ? :
1418 24 6 $1 ? :
1422 30 5 $1 ? :
20 35 $1 == 1 ? :
6 9 $3 ? :
40 15 $2 ? :
1423 0 1 $2 ? :
22 1 $1 ? :
1424 14 7 $1 ? :
2 21 $1 == 1 ? :
1446 55 1226 if (@_ % 2 and require Carp)
1455 230 996 if (exists $arg{'threshold'} and $num > $arg{'threshold'})
1458 220 10 unless $whole =~ s/ (\d) ( \d{3}(?:,|\z) ) /$1,$2/msux
1461 10 220 $frac ? :
1464 0 996 unless $group =~ /\A[0-3]\Z/u
1465 0 996 $num =~ /\A\s*\-/u ? :
0 996 $num =~ /\A\s*\+/u ? :
1475 165 831 $group ? :
996 0 $arg{'decimal'} ? :
1480 6 990 if ($chunks[0] eq "")
1485 54 985 unless $_
1487 22 1017 if (not $group || $first) { }
1492 828 211 if not $group and $first
1495 990 49 if $first
1499 6 990 if ($first =~ /0/u) { }
1508 51 945 if $ord and @numchunks
1517 0 996 if (wantarray) { }
165 831 elsif ($group) { }
1519 0 0 if $sign
1524 0 165 $sign ? :
1528 0 831 $sign ? :
1532 19 157 if (/\A$arg{'decimal'}\Z/u) { }
70 87 elsif ($first) { }
1557 16 45 if (ref $arg eq 'HASH') { }
1565 0 20 if @words == 0
1566 5 15 if @words == 1
1568 6 9 exists $opt{'conj'} ? :
1569 5 10 if (@words == 2)
1575 5 5 grep(/,/u, @words) ? :
0 10 exists $opt{'sep'} ? :
1580 2 4 length $opt{'final_sep'} == 0 ? :
4 6 !exists $opt{'final_sep'} ? :