Branch Coverage

blib/lib/Lingua/Romana/Perligata.pm
Criterion Covered Total %
branch 190 434 43.7


line true false branch
38 0 6 if $status < 0
47 0 0 if print "$_;\n"
0 6 if ($translate) { }
0 12 elsif ($debug and /\S/) { }
60 0 0 unless $_[0] =~ /(.*)at\s+(\S+)\s+line\s+(\d+)(.*)/s
93 0 2 unless join("", @numerals) eq $val
106 0 0 if $_[0] == 0
108 0 0 if grep {/\D/;} @digits
117 0 1 if (wantarray) { }
119 0 0 $1 ? :
124 0 2 $1 ? :
161 528 114 unless $genkey =~ s/$from$/$to/
665 0 125 if ($text =~ s/\A(adnota.*)//i) { }
0 125 elsif ($text =~ s/\A(nuntius|finis)[ \t]*[.]?[ \t]*\n(.*)//ism) { }
3 122 elsif ($text =~ s/\Adic(?:emen)?tum(que|ve|)\s+sic\s+\b(.*?)\s+cis\b//is) { }
0 122 elsif ($text =~ s/\Asic(que|ve|)\s+(.*?)\s+cis\s+dic(?:emen)?tum\b//is) { }
0 122 elsif ($text =~ s/\A(atque|vel)\b//i) { }
0 122 elsif ($text =~ s/\A(($roman)im(?:o|ae)(que|ve|))\b//xi and length $2) { }
0 122 elsif ($text =~ s/\A(($roman)im(?:um|os|am|as)(que|ve|))\b//xi and length $2) { }
2 120 elsif ($text =~ s/\A(($roman)(que|ve|))\b//xi and length $2) { }
0 120 elsif ($text =~ s/$tokensque//i) { }
0 120 elsif ($text =~ s/$tokensve//i) { }
94 26 elsif ($text =~ s/$tokens//i) { }
0 26 elsif ($text =~ s/\A(([a-z_][0-9a-z_]*?)(um|)ementum)(que|ve|)((?:\s+)sicut)?\b//i) { }
0 26 elsif ($text =~ s/\A(([a-z_][0-9a-z_]*?)(um|)ementa)(que|ve|)((?:\s+)sicut)?\b//i) { }
0 26 elsif ($text =~ s/\A(([a-z_][0-9a-z_]*?)(um|)emento)(que|ve|)((?:\s+)sicut)?\b//i) { }
0 26 elsif ($text =~ s/\A(([a-z_][0-9a-z_]*?)(um|)ementis)(que|ve|)((?:\s+)sicut)?\b//i) { }
0 26 elsif ($text =~ s/\A(([a-z_][0-9a-z_]*)orum)(que|ve|)((?:\s+)sicut)?\b//i) { }
0 26 elsif ($text =~ s/\A(([a-z_][0-9a-z_]*)uum)(que|ve|)((?:\s+)sicut)?\b//i) { }
5 21 elsif ($text =~ s/\A(([a-z_][0-9a-z_]*)um)(que|ve|)((?:\s+)sicut)?\b//i) { }
0 21 elsif ($text =~ s/\A(([a-z_][0-9a-z_]*)a)(que|ve|)((?:\s+)sicut)?\b//i) { }
0 21 elsif ($text =~ s/\A(([a-z_][0-9a-z_]*)ibus)(que|ve|)((?:\s+)sicut)?\b//i) { }
0 21 elsif ($text =~ s/\A(([a-z_][0-9a-z_]*)us)(que|ve|)((?:\s+)sicut)?\b//i) { }
1 20 elsif ($text =~ s/\A(([a-z_][0-9a-z_]*)o)(que|ve|)((?:\s+)sicut)?\b//i) { }
0 20 elsif ($text =~ s/\A(([a-z_][0-9a-z_]*)is)(que|ve|)((?:\s+)sicut)?\b//i) { }
0 20 elsif ($text =~ s/\A(([a-z_][0-9a-z_]*)tori)(que|ve|)((?:\s+)sicut)?\b//i) { }
0 20 elsif ($text =~ s/\A(([a-z_][0-9a-z_]*)i)(que|ve|)((?:\s+)sicut)?\b//i) { }
2 18 elsif ($text =~ s/\A(([a-z_][0-9a-z_]*)ere)(que|ve|)((?:\s+)sicut)?\b//i) { }
2 16 elsif ($text =~ s/\A(([a-z_][0-9a-z_]*?)(um|)e)(que|ve|)((?:\s+)sicut)?\b//i) { }
0 16 elsif ($text =~ s/\A(([a-z_][0-9a-z_]*)torem)(que|ve|)((?:\s+)sicut)?\b//i) { }
11 5 elsif ($text =~ s/\A([.])//) { }
2 3 elsif ($text =~ s/\A(\S+)(que|ve|)((?:\s+)sicut)?\b//) { }
681 0 3 if $1
686 0 0 if $1
696 0 0 if $+
701 0 0 if $+
706 0 2 if $+
725 0 0 if ($5) { }
727 0 0 $4 ? :
732 0 0 if $4
733 0 0 $3 ? :
739 0 0 if ($5) { }
741 0 0 $4 ? :
746 0 0 if $4
747 0 0 $3 ? :
753 0 0 if ($5) { }
755 0 0 $4 ? :
760 0 0 if $4
761 0 0 $3 ? :
767 0 0 if ($5) { }
769 0 0 $4 ? :
785 0 0 if ($4) { }
787 0 0 $3 ? :
792 0 0 if $3
798 0 0 if ($4) { }
800 0 0 $3 ? :
805 0 0 if $3
811 0 5 if ($4) { }
813 0 0 $3 ? :
818 0 5 if $3
824 0 0 if ($4) { }
826 0 0 $3 ? :
831 0 0 if $3
837 0 0 if ($4) { }
839 0 0 $3 ? :
844 0 0 if $3
850 0 0 if ($4) { }
852 0 0 $3 ? :
857 0 0 if $3
863 0 1 if ($4) { }
865 0 0 $3 ? :
870 0 1 if $3
876 0 0 if ($4) { }
878 0 0 $3 ? :
883 0 0 if $3
889 0 0 if ($4) { }
891 0 0 $3 ? :
896 0 0 if $3
902 0 0 if ($4) { }
904 0 0 $3 ? :
909 0 0 if $3
915 0 2 if ($4) { }
917 0 0 $3 ? :
922 0 2 if $3
928 0 2 if ($5) { }
930 0 0 $4 ? :
935 0 2 if $4
936 0 2 $3 ? :
942 0 0 if ($4) { }
944 0 0 $3 ? :
949 0 0 if $3
959 0 2 if ($3) { }
961 0 0 $2 ? :
962 0 0 if $token
966 0 2 if $2
967 2 0 if $1
972 3 0 unless $text =~ s/\A(\S+)//
977 122 0 if @tokens
979 0 6 if ($lex || $debug and @tokens)
987 0 0 if $lex
990 0 6 if $bad
1019 16 23 if ($Astack[-1]{'complete'}) { }
1020 0 16 if @Astack > 1
1031 30 27 unless (@Vstack)
1032 0 30 if (@Dstack and ($Dstack[-1]{'V'}{'lex'} || '') eq "OWNER_D")
1038 10 17 if $Vstack[-1]{'lex'} =~ /^SUBNAME_?A?D?$/ and not $lookahead->{'lex'} =~ /PERIOD|DO|END|CONNECTIVE/ or ref $Vstack[-1] eq "STATEMENT"
1042 2 3 $verb->{'lex'} eq 'SUBNAME' ? :
1045 1 16 if $needA and $needA ne "OA" and @Astack <= 1 || !$Astack[-1]{'complete'} or $needD eq "D" and not @Dstack or $needD eq "B" and not @Bstack
1047 0 7 $needD eq 'B' ? :
9 7 $needD eq 'D' ? :
1050 14 2 $needA && @Astack > 1 ? :
1052 4 12 if ($verb->{'lex'} =~ /SUBNAME_.*_ACCUSATIVE/ or $Dindir and $verb->{'lex'} =~ /SUBNAME_.*_DATIVE|OWNER_D/) { }
3 9 elsif ($verb->{'lex'} =~ /SUBNAME_.*_DATIVE|OWNER_D/) { }
0 9 elsif ($verb->{'lex'} =~ /SUBNAME_.*_GENITIVE/) { }
1055 0 4 if ($verb->{'lex'} =~ /SUBNAME_.*_DATIVE|OWNER_D/)
1068 0 0 unless $lastsubstantive
1074 0 0 if $ord->{'lex'} and $ord->{'lex'} eq "NUMERAL"
1079 0 16 if ($debug)
1087 0 106 if ($debug)
1090 11 95 if ($tok->{'lex'} =~ /^(NUMERAL|ORDINAL)$/ or $Dindir and $tok->{'lex'} eq 'ORDINAL_DATIVE') { }
0 95 elsif ($tok->{'lex'} eq 'ORDINAL_DATIVE') { }
0 95 elsif ($tok->{'lex'} eq 'WITH') { }
24 71 elsif ($tok->{'lex'} =~ /^(?:ACCUSATIVE|NAME)$/ or $Dindir and $tok->{'lex'} eq 'DATIVE') { }
0 71 elsif ($tok->{'lex'} eq 'ARROW') { }
0 71 elsif ($tok->{'lex'} eq 'WITHIN') { }
3 68 elsif ($tok->{'lex'} eq 'GENITIVE') { }
2 66 elsif ($tok->{'lex'} eq 'INFINITIVE') { }
2 64 elsif ($tok->{'lex'} eq 'CONTROL') { }
2 62 elsif ($tok->{'lex'} eq 'FOR') { }
0 62 elsif ($tok->{'lex'} eq 'BEGIN') { }
1 61 elsif ($tok->{'lex'} eq 'OWNER_D') { }
23 38 elsif ($tok->{'lex'} eq 'COMMA') { }
0 38 elsif ($tok->{'lex'} eq 'ADDRESS') { }
8 30 elsif ($tok->{'lex'} eq 'DATIVE') { }
15 15 elsif ($tok->{'lex'} =~ /^SUBNAME/) { }
11 4 elsif ($tok->{'lex'} =~ /PERIOD/) { }
0 4 elsif ($tok->{'lex'} =~ /CONNECTIVE/) { }
4 0 elsif ($eatend and $tok->{'lex'} =~ /$eatend/) { }
0 0 elsif ($noeatend and $tok->{'lex'} =~ /$noeatend/) { }
1093 0 11 if ($1 eq "NUMERAL" and $toks->[0]{'lex'} eq "ORDINAL")
1098 0 11 if ($tok->{'lex'} eq "ORDINAL_DATIVE")
1119 0 24 if ($tok->{'lex'} eq "DATIVE")
1132 0 0 $owner->{'perl'} =~ /^\W/ ? :
1148 0 3 unless @lastsubstantive
1154 0 3 if $ord->{'lex'} and $ord->{'lex'} eq "NUMERAL"
1171 4 19 unless $lastownable and @Astack > 1 and $lastownable == $Astack[-1]{'data'}
1173 0 23 unless @Astack > 1 and $Astack[-1]{'complete'}
1188 15 0 if ($Astack[-1]{'complete'}) { }
0 0 elsif (not $tok->{'perl'} =~ /^(and|or|[&|]{2})$/) { }
1210 0 11 if $connective and not $Vdone || @Astack <= 1
1218 0 0 unless $Vdone or @Astack <= 1
1224 2 2 @Astack > 1 ? :
4 0 unless $Vdone
1229 0 0 unless $Vdone
1237 0 85 if ($debug)
1243 0 0 !($Vstack[-1]{'lex'} =~ /(ACCUSATIVE|DATIVE)$/) ? :
0 21 if $Vdone and @Vstack
1250 0 21 if @Astack > 1 and not @Vstack
1252 0 21 if @Dstack and not @Vstack
1254 0 21 unless $Vdone or $empty
1256 2 11 ref $Vdone eq 'ARRAY' ? :
8 13 $empty ? :
1267 0 6 unless $next->{'lex'} eq "BEGIN"
1270 6 0 if $command
1274 0 6 unless $next->{'lex'} eq "END"
1295 0 0 $toks->[0]{'lex'} ne 'IN' ? :
2 0 $toks->[0]{'lex'} eq 'ACCUSATIVE' ? :
1298 0 2 unless $in->{'lex'} eq "IN"
1301 0 2 unless (($self->{'C'}{'lex'} || $self->{'C'}{'V'}{'lex'}) =~ /DATIVE|OWNER_D/)
1304 0 0 $self->{'C'}{'lex'} ? :
1307 0 2 if ($toks->[0]{'lex'} =~ /PERIOD|CONNECTIVE/) { }
1308 0 0 unless @$Bstack
1311 0 0 unless $toks->[0]{'lex'} eq "CONNECTIVE"
1324 0 2 if (($self->{'perl'} || '') eq "while" and ($self->{'C'}{'V'}{'perl'} || '') eq "Lingua::Romana::Perligata::getline")
1328 0 2 if (not @$toks or $toks->[0]{'lex'} =~ /PERIOD|CONNECTIVE/) { }
1329 0 0 unless @$Bstack
1332 0 0 unless $toks->[0]{'lex'} eq "CONNECTIVE"
1369 9 7 defined $_[0]{'D'} ? :
1370 0 16 $verb =~ /^(bless)$/ && $dative =~ /^[%\@]/ ? :
1371 9 7 if $dative
1372 2 14 $dative && defined $_[0]{'A'} && !$hasblock && !($verb =~ /^(print|printf)$/) ? :
1373 0 16 if ($verb =~ /^(package|use)$/) { }
0 16 elsif ($verb eq ':') { }
0 16 elsif ($_[0]{'V'}{'diamond'}) { }
0 16 elsif ($verb =~ /^[\$%\@]\{$/) { }
12 4 elsif (not $_[0]{'V'}{'operator'}) { }
0 4 elsif ($prefix and $dative) { }
0 4 elsif ($prefix) { }
2 2 elsif ($verb eq '=') { }
1390 1 11 $noparen ? :
10 2 defined $_[0]{'A'} ? :
1 11 $noparen ? :
1405 0 2 @{$_[0]{'A'};} > 1 ? :
1410 0 2 unless $_[0]{'A'}
1411 0 2 $verb =~ s/^!(<=>|cmp)/$1/ ? :
1417 2 0 $Acount-- ? :
0 2 $dative ? :
2 0 $Acount ? :
1420 0 16 if ($_[0]{'G'})
1521 0 7 if ($self->{'G'})
1540 0 16 if ($self->{'G'})
1577 0 3 unless $self->{'G'}
1600 0 10 if ($context and $context->{'raw'} =~ /^inque/) { }
0 10 elsif ($self->{'lex'} eq 'GENITIVE') { }
0 10 elsif ($self->{'lex'} eq 'SUBNAME_A_GENITIVE') { }
2 8 elsif ($self->{'lex'} eq 'INFINITIVE') { }
1615 0 10 if ($self->{'G'})