Branch Coverage

blib/lib/Lisp/Fmt.pm
Criterion Covered Total %
branch 349 486 71.8


line true false branch
56 0 896 if $verbose_tok
58 292 604 if ($s =~ /^([^~]+)/ and $1) { }
6 598 elsif ($s =~ /^~(<{2,}|>{2,}|\|{2,})/ and $1) { }
598 0 elsif ($s =~ /^~(((-?\d*|v|\#|\'.)(,(-?\d*|v|\#|\'.))*)? # comma sep. list of params ([\@:!]*) # optional @ ! and : ([^=\@:!\'v\#]|\n\s*|=.))/x and $1) { }
59 0 292 if $verbose_tok > 1
78 0 6 if $verbose_tok > 1
83 2 2 $p =~ />/ ? :
2 4 $p =~ /
98 0 598 if $verbose_tok > 1
104 27 217 if (/^\'(.*)$/)
110 68 530 $sp =~ /@|!/ ? :
66 532 $sp =~ /:/ ? :
134 213 896 if $i >= @t
148 0 1109 if ($term and not $t)
155 213 896 unless $t
157 0 896 if $verbose_parse
159 80 816 if $$t{'directive'} eq $term
161 37 779 if ($$t{'directive'} eq '[')
162 0 37 if $verbose_parse > 1
170 58 145 if ($$l{'directive'} eq ';') { }
172 10 48 if $$l{'colon'}
182 0 37 if $verbose_parse > 1
185 11 805 if ($$t{'directive'} eq '<')
186 0 11 if $verbose_parse > 1
194 12 23 if ($$l{'directive'} eq ';') { }
205 0 11 if $verbose_parse > 1
208 24 792 if ($$t{'directive'} eq '{')
209 0 24 if $verbose_parse > 1
212 23 1 if (@{$b;} != 0)
215 0 24 if $verbose_parse > 1
218 7 809 if ($$t{'directive'} eq '(')
219 0 7 if $verbose_parse > 1
221 0 7 if $verbose_parse > 1
224 0 816 if ($$t{'directive'} eq '/')
227 0 0 unless $$tt{'directive'} eq 'literal'
230 0 0 unless $$tt{'directive'} eq '/'
233 1 815 if ($$t{'directive'} eq '=(')
234 0 1 if $verbose_parse > 1
236 0 1 if $verbose_parse > 1
251 0 816 if $verbose_reduce
254 47 769 if ($d =~ /^[DOXBR]$/)
256 20 27 if $d eq 'D'
257 2 45 if $d eq 'O'
258 2 45 if $d eq 'X'
259 2 45 if $d eq 'B'
263 21 26 if ($d eq 'R')
267 16 5 unless ($$t{'radix'})
268 11 5 if ($$t{'atsign'}) { }
275 0 47 if $verbose_reduce > 1
278 213 603 if ($d =~ /^[ASW]$/)
280 213 0 $d eq 'A' ? :
284 3 813 if ($d =~ /^[%_|~]$/)
289 2 1 if $n eq ''
292 0 3 if $d eq '_'
293 3 0 if $d eq '~'
294 0 3 if $d eq '%'
295 0 3 if $d eq '|'
297 0 3 if (not $n =~ /\d/) { }
304 0 3 if $verbose_reduce > 1
308 0 816 if ($d =~ /^\n/)
312 0 0 $$t{'atsign'} ? :
0 0 $$t{'colon'} ? :
315 0 0 if $verbose_reduce > 1
338 1 290 if (ref $obj) { }
111 179 elsif ($obj =~ /^[+-]?\d+$/) { }
0 179 elsif ($obj =~ /^[+-]\d*\.\d*$/) { }
339 0 1 if (ref $obj eq 'SCALAR') { }
0 1 elsif (ref $obj eq 'CODE') { }
0 1 elsif (ref $obj eq 'GLOB') { }
340 0 0 if ($how) { }
354 0 1 if ($how) { }
355 0 0 unless $_fmtobjs
358 1 0 unless $_fmtobja
364 1 0 if ref $obj eq 'ARRAY'
365 0 1 if ref $obj eq 'HASH'
373 0 179 if ($how) { }
386 2 289 if $padchar =~ /^\d+$/
387 0 291 if $ovchar =~ /^\d+$/
389 0 291 if $verbose_fmt
393 66 225 $mincol ? :
397 0 291 if $verbose_fmt
400 63 228 if ($gravity eq 'r') { }
225 3 elsif ($gravity eq 'l') { }
406 2 289 if ($l == $w) { }
232 57 elsif ($l > $w) { }
410 0 232 if ($maxcolp)
412 0 0 if ($gravity eq 'r') { }
420 20 37 if ($gravity eq 'r') { }
34 3 elsif ($gravity eq 'l') { }
441 7 24 if ($val < 0) { }
5 19 elsif ($withsign) { }
451 0 31 if ($radix == 1) { }
463 15 16 if ($withcommas)
482 16 117 if ($val >= $rv[$i]) { }
105 12 elsif ($val <= $rv[$i + 1]) { }
5 7 elsif (not $oldway and ($i & 1) == 0 and $val >= $rv[$i] - $rv[$i + 2]) { }
2 5 elsif (not $oldway and ($i & 1) != 0 and $val >= $rv[$i] - $rv[$i + 1]) { }
522 2 5 if ($val >= 100)
525 0 2 if $ordinal and not $val
528 2 5 if ($val >= 20)
530 0 2 if ($ordinal and not $n) { }
538 7 0 if ($val)
539 1 6 if ($ordinal) { }
540 1 0 if ($val < @ounits) { }
573 2 5 if ($r)
575 2 0 if ($n)
576 0 2 if (not $k and $n < 100) { }
584 7 0 if ($n)
587 1 6 if $o
591 2 5 if ($k and $n)
593 0 2 if ($k > @illions) { }
602 0 6 if (not $val) { }
1 5 elsif ($val < 0) { }
603 0 0 if ($ordinal) { }
611 0 5 $ordinal && !$ordd ? :
618 0 18 if ($config_zero_is_false) { }
619 0 0 $val ? :
629 20 0 if ($a =~ /ARRAY/) { }
0 0 elsif ($a =~ /HASH/) { }
648 0 335 if $Lisp::Fmt::argno >= @Lisp::Fmt::arglist
653 2 18 if $Lisp::Fmt::argno >= @Lisp::Fmt::arglist
662 1291 252 if $nth >= @n
665 3 249 if $n eq 'v'
666 20 229 if $n eq '#'
668 28 201 if $n eq ''
684 0 756 if $verbose_run
686 297 459 if ($d eq 'literal') { }
0 459 elsif ($d eq 'repeat') { }
20 439 elsif ($d eq '&') { }
24 415 elsif ($d eq 'T') { }
221 194 elsif ($d eq 'A') { }
6 188 elsif ($d eq '*') { }
3 185 elsif ($d eq '?') { }
15 170 elsif ($d eq 'P') { }
17 153 elsif ($d eq 'C') { }
7 146 elsif ($d eq '(') { }
0 146 elsif ($d eq '/') { }
11 135 elsif ($d eq '<') { }
22 113 elsif ($d eq '{') { }
38 75 elsif ($d eq '[') { }
27 48 elsif ($d eq '^') { }
31 17 elsif ($d eq 'number') { }
11 6 elsif ($d eq 'roman') { }
5 1 elsif ($d eq 'english') { }
0 1 elsif ($d eq '=V') { }
1 0 elsif ($d eq '=(') { }
0 0 elsif ($d eq '=F') { }
0 0 elsif ($d eq ')') { }
0 0 elsif ($d eq '}') { }
0 0 elsif ($d eq ']') { }
0 0 elsif ($d eq ';') { }
695 20 0 unless $n
696 0 0 unless $Lisp::Fmt::accum =~ /\n$/
697 0 0 if ($n > 1)
714 4 20 if ($$t{'atsign'}) { }
715 4 0 if ($colinc)
720 15 5 if ($mp < 0)
721 15 0 if ($colinc)
723 8 7 if $mp >= $colinc
740 2 4 $$t{'atsign'} ? :
742 2 4 if $$t{'colon'}
744 2 4 if ($$t{'atsign'}) { }
749 0 6 if $Lisp::Fmt::argno < 0
755 1 2 if ($$t{'atsign'}) { }
757 0 1 ref $fmt ? :
766 1 1 ref $fmt ? :
768 0 3 if $rv
773 8 7 if ($$t{'colon'}) { }
779 5 10 if ($n == 1) { }
780 1 4 if $$t{'atsign'}
782 2 8 if ($$t{'atsign'}) { }
795 14 3 if $n eq ''
796 3 14 unless $n =~ /^\d+$/
799 7 10 if ($$t{'colon'}) { }
800 0 7 if ($$t{'atsign'} and $n and $n < 27) { }
3 4 elsif ($n < @cv) { }
3 1 elsif ($n >= 127) { }
805 0 3 if ($$t{'atsign'}) { }
815 8 2 if ($$t{'atsign'}) { }
816 7 1 if ($n >= 127 or $n < @cv) { }
834 4 3 if ($$t{'colon'}) { }
835 2 2 if ($$t{'atsign'}) { }
841 2 1 if ($$t{'atsign'}) { }
849 0 7 if $rv
858 0 0 if $p eq '#'
859 0 0 if $p eq 'v'
864 0 0 if @p
886 0 23 if $rv =~ /hat/
892 3 8 if ($n == 1) { }
8 0 elsif ($n >= 2) { }
893 1 1 $$t{'colon'} ? :
2 1 $$t{'atsign'} ? :
907 12 8 $m ? :
4 4 $$t{'colon'} ? :
4 4 $$t{'atsign'} ? :
8 4 $m == $n - 1 ? :
8 12 $m == 0 ? :
921 6 16 $maxiter ne '' ? :
925 1 21 unless ($body)
927 0 1 unless $body
931 2 20 if ($$t{'colon'} and $$t{'atsign'}) { }
2 18 elsif ($$t{'colon'}) { }
5 13 elsif ($$t{'atsign'}) { }
936 1 5 if $Lisp::Fmt::argno >= @Lisp::Fmt::arglist
945 0 5 if $retv =~ /colon/
957 1 5 unless @a
963 0 5 if $retv =~ /colon/
971 2 14 if $Lisp::Fmt::argno >= @Lisp::Fmt::arglist
973 2 12 if $retv =~ /hat/
987 9 28 if $Lisp::Fmt::argno >= @Lisp::Fmt::arglist
989 1 27 if $retv =~ /hat/
999 17 21 if $n eq ''
1001 8 30 if ($$t{'atsign'}) { }
2 28 elsif ($$t{'colon'}) { }
1002 5 3 unless falsep($n)
1003 5 3 !falsep($n) ? :
1005 1 1 falsep($n) ? :
1008 2 36 if ($n >= $ni and defined $$t{'default_item'})
1012 30 8 if ($n < $ni)
1021 0 38 if $rv
1028 2 25 if ($np == 1) { }
2 23 elsif ($np == 2) { }
3 20 elsif ($np == 3) { }
1029 1 1 if param($t, 0, '') == 0
1031 1 1 if param($t, 0, '') == param($t, 1, '')
1033 1 2 if param($t, 0, '') <= param($t, 1, '') and param($t, 1, '') <= param($t, 2, '')
1036 6 14 if $Lisp::Fmt::argno >= @Lisp::Fmt::arglist
1039 9 18 if ($out)
1040 0 9 if $$t{'colon'}
1049 0 31 if $r eq '#'
1050 0 31 if $r eq 'v'
1051 0 31 if $r < 1 or $r > 36
1053 6 25 $$t{'atsign'} ? :
15 16 $$t{'colon'} ? :
1075 0 0 if $$t{'atsign'}
1076 0 0 if $$t{'colon'}
1096 0 1 if $rv
1110 0 0 unless open FMT_FILE, $f
1112 0 0 if ($n ne '') { }
1117 0 0 if ($m ne '') { }
1165 0 0 if $$t{'body'}
1167 0 0 if ($$t{'subparts'})
1192 0 208 ref $fmt ? :