Branch Coverage

blib/lib/LaTeX/Replicase.pm
Criterion Covered Total %
branch 364 434 83.8


line true false branch
32 4 11 if not $_[0] or $_[0] =~ /^[a-zA-Z0-9,=:;!\.\s\+\-\*]+$/ or $_[0] =~ s/^%%%://
39 2 9 if $_[1] and $_[1] =~ /~/
47 20 3 if defined $op{'debug'}
51 22 1 if (defined $source and length $source) { }
53 19 3 if (ref \$source eq 'SCALAR') { }
1 2 elsif (ref $source ne 'ARRAY') { }
58 19 0 if $^O =~ /(?:linux|bsd|darwin|solaris|sunos)/
63 0 1 unless $op{'silent'}
72 0 1 unless $op{'silent'}
78 2 19 if $DEBUG
80 1 20 if (ref \$source eq "SCALAR" and not -s $source or ref $source eq "ARRAY" and not @$source)
82 0 1 unless $op{'silent'}
89 2 1 unless ($info and ref $info eq 'HASH' && %$info || ref $info eq 'ARRAY' && @$info)
93 0 2 unless $op{'silent'}
103 16 2 if (ref \$source eq 'SCALAR') { }
112 17 1 if (defined($_ = $op{'ofile'}) and length $_) { }
113 1 16 if (/::STDOUT$/) { }
119 16 0 $^O =~ /(?:linux|bsd|darwin|solaris|sunos)/ ? :
124 1 0 if (length $outdir) { }
129 1 0 if $^O =~ /(?:linux|bsd|darwin|solaris|sunos)/
136 1 0 unless (-d $outdir)
139 0 1 if ($err and @$err)
143 0 0 $path && length $path ? :
146 0 0 unless $op{'silent'}
158 2 16 if $DEBUG
161 1 3 if (-s $ofile and ref \$source eq "SCALAR" and $source eq $ofile && compare($source, $ofile) == 0 || join(',', stat $source) eq join(',', stat $ofile))
169 0 1 unless $op{'silent'}
176 15 2 if (ref \$source eq "SCALAR")
177 1 14 $op{'utf8'} ? :
179 2 13 if $DEBUG
181 0 15 unless (open $TEMPLATE, "<:raw$mode", $source)
183 0 0 unless $op{'silent'}
190 16 1 unless ($fh)
191 1 15 $op{'utf8'} ? :
193 2 14 if $DEBUG
195 0 16 unless (open $fh, ">$mode", $ofile)
197 0 0 unless $op{'silent'}
226 15 2 if ($TEMPLATE) { }
231 12 913 if ($end)
232 9 3 if $end != 3
244 0 264 if ($end) { }
250 2 262 if $end == 3
255 2 15 if (not $end and defined $key)
259 1 1 unless $op{'silent'}
263 16 1 unless $ofile =~ /::STDOUT$/
265 7 10 unless @logs
279 533 656 if (defined $$key) { }
39 617 elsif ($$z =~ /%%%+END(?[TZ]?):/) { }
281 122 411 unless $$z =~ /%%%[AETV]\S*:/
283 80 331 if ($$z =~ /%%%(?:END(?[TZ]?)|TDZ|VAR):/) { }
331 0 elsif (ref $$vardata eq 'HASH' and ref $$$vardata{$$key} eq 'HASH' || ref $$$vardata{$$key} eq 'ARRAY' || ref \$$$vardata{$$key} eq 'SCALAR' || ref $$$vardata{$$key} eq 'SCALAR' or ref $$vardata eq 'ARRAY' and ref $$$vardata[$$key] eq 'HASH' || ref $$$vardata[$$key] eq 'ARRAY' || ref \$$$vardata[$$key] eq 'SCALAR' || ref $$$vardata[$$key] eq 'SCALAR') { }
293 2 78 if $end
295 3 75 if $t and $t eq "T"
297 3 72 if $t and $t eq "Z"
299 64 11 if $$z =~ /%%%ENDZ?:/
301 7 4 if ($$z =~ /%%%+TDZ:/)
322 329 2 ref $$vardata eq 'HASH' ? :
323 37 294 ref \$vk eq 'SCALAR' || ref $vk eq 'SCALAR' ? :
326 143 188 @$columns && exists $columns->[-1]{'ki'} ? :
329 86 245 if $j < 0 or $sclr
331 126 205 if (not $sclr and $$z =~ /^(.*?)\s?%%%+V:\s*([^\s:%#]+)(%?)\s?(.*)/) { }
200 5 elsif ($$z =~ /(?.+?)\s?%%%+ADD(?[AEX]?):(?

%?)/ or $$z =~ /^\s*%%%+ADD(?[AEX]?):(?

%?)\s?(?.*?)[\r\n]*$/) { }

338 32 94 if ($$chkVAR == 1) { }
38 56 elsif ($$chkVAR == 2) { }
17 39 elsif ($$chkVAR == 4 or $$chkVAR == 8) { }
33 8 elsif (ref $vk eq 'HASH' and exists $vk->{$ki} and ref \$vk->{$ki} eq 'SCALAR' || ref $vk->{$ki} eq 'SCALAR' || $ki eq '@' && ref $vk->{$ki} eq 'ARRAY') { }
340 1 31 if ($ki eq '@') { }
16 15 elsif ($ki =~ /^\-*(\d+)$/ and $1 < @$vk || $ki < 0 && $1 == @$vk) { }
15 0 elsif ($ki =~ /^[\d,\-]+$/) { }
357 0 0 if $DEBUG or not $op->{'ignore'}
364 38 0 if (exists $d->{$ki})
372 5 12 if ($ki eq '@') { }
4 8 elsif ($ki =~ /^\-*(\d+)$/ and $1 < @$vk || $ki < 0 && $1 == @$vk) { }
7 1 elsif ($ki =~ /^[\d,\-]+$/) { }
402 119 7 if exists $columns->[$j]{'ki'}
409 51 149 if ($+{'p'}) { }
410 1 50 unless length $s
416 3 196 if ($+{'t'} eq 'A') { }
30 166 elsif ($+{'t'} eq 'E') { }
422 30 0 if (@$columns and $sclr || exists $columns->[-1]{'ki'} && !$columns->[$j]) { }
431 33 133 if not $sclr and $+{'t'} eq "X"
449 6 33 if $+{'t'} eq "T"
451 21 12 if $+{'t'} eq "Z"
455 10 611 if $$z =~ s/^\s*%%%+TDZ:\s?[\r\n]*//
457 124 497 if ($$tdz)
458 116 8 if (length $$z)
465 99 398 if ($$z =~ /(.*?)\s?%%%+VAR:\s*([^\s:%#]+)(%?)\s?(.*)/) { }
8 390 elsif ($$z =~ /%%%+V:\s*=(def|esc|ignore|silent|debug)=\s*(\S*)/) { }
54 336 elsif ($$z =~ /^(?.*?)\s?%%%+V:\s*(?[^\s:%#]+)(?

%?)\s?(?.*)/) { }

472 5 94 $k =~ s[^/+][] ? :
479 0 100 unless length $sk
481 3 97 if ($sk =~ /^\d+$/ and ref $vd eq 'ARRAY' and defined $vd->[$sk]) { }
82 15 elsif (ref $vd eq 'HASH' and exists $vd->{$sk}) { }
482 1 2 if &_data_redef($sk, $vd->[$sk], \$k, \$vd, \$x)
485 35 47 if &_data_redef($sk, $vd->{$sk}, \$k, \$vd, \$x)
498 16 83 if ($x)
499 14 2 if $DEBUG or not $op->{'ignore'}
508 10 73 if $DEBUG
510 81 2 ref $$vardata eq 'HASH' ? :
512 1 6 if not defined $vk and $DEBUG
514 1 82 if &_chk_var($fh, $k, $vk, $Np, \$paste, \$before, $chkVAR, $columns, $z, $op)
524 7 1 if $1 eq "debug"
535 7 47 if ($k =~ s[^/+][])
538 4 3 unless length $k
544 0 57 unless length $sk
547 6 51 if ($sk =~ /^\d+$/ and ref $$data eq 'ARRAY' and defined $$data->[$sk]) { }
21 30 elsif (ref $$data eq 'HASH' and exists $$data->{$sk}) { }
554 28 2 if $DEBUG or not $op->{'ignore'}
564 9 18 if (ref $d eq "ARRAY" or ref $d eq "HASH")
570 16 2 if (ref \$d eq 'SCALAR') { }
1 1 elsif (ref $d eq 'SCALAR') { }
577 1 0 if $DEBUG or not $op->{'ignore'}
586 3 14 if $_ = &_v_print($fh, $k, $v, \%el, $op)
592 45 2 if $x
607 162 46 if length $dV
608 39 169 if $Np
609 17 191 if length $paste
616 49 36 if (ref $d eq "ARRAY" or ref $d eq "HASH")
621 35 1 if (ref \$d eq 'SCALAR' or ref $d eq 'SCALAR') { }
637 38 45 if (ref $vk eq 'ARRAY') { }
35 10 elsif (ref \$vk eq 'SCALAR' or ref $vk eq 'SCALAR') { }
639 37 1 if (@{$vk;}) { }
643 35 100 if (ref $d eq 'ARRAY') { }
22 78 elsif (ref $d eq 'HASH') { }
74 4 elsif (ref \$d eq 'SCALAR') { }
4 0 elsif (ref $d eq 'SCALAR') { }
664 1 37 if (not $$chkVAR or $$chkVAR > 8 or $$chkVAR & $$chkVAR - 1)
665 1 0 if $DEBUG or not $op->{'ignore'}
677 13 69 if ($$before)
688 3 435 if ref $v eq "SCALAR"
694 40 398 unless (defined $v)
695 39 1 if ($op->{'def'})
696 4 35 if $DEBUG
702 4 395 if ($v =~ /^\x{001}[\x{003}\x{004}]?$/)
703 3 1 if (exists $el->{'v'})
706 0 3 if $DEBUG
711 1 398 if ($v =~ /^\x{003}$/) { }
4 394 elsif ($v =~ /^\x{004}$/) { }
385 9 elsif (length $v) { }
722 3 382 if $op->{'esc'}
724 62 323 if $DEBUG
729 10 375 if exists $el->{'p'}
732 260 134 unless ($el->{'%'})
744 433 407 unless $el->{$ht}
752 33 16 if $ht eq "head" and ($border and exists $el->{'eX'} and exists $el->{'eX'}{$i})
754 62 401 if $DEBUG
773 16 421 if (length $ki and not defined $val)
774 16 0 if ($op->{'def'})
775 8 8 if $DEBUG
786 2 419 if $_ = &_v_print
799 4 199 if ref $val eq "SCALAR"
803 201 2 if (ref \$val eq 'SCALAR') { }
2 0 elsif (ref $val eq 'ARRAY') { }
812 0 17 if ref \$_ ne "SCALAR"
819 0 17 if $end
835 1 141 if $ii eq "-"
837 12 129 if ($ii =~ /^(\-[1-9]\d*)\-(\d*)$/)
840 1 11 if abs $s > $nd
841 1 11 if abs $e > $nd
842 1 11 if $e > $s
845 0 38 if $end = &_s_a_prn($fh, $i, $values, $el, $op, \$border, \$col)
848 0 12 $end ? :
851 1 128 if ($ii =~ /^\-[0-9]+$/)
854 1 0 if (abs $i <= $nd)
855 0 1 if $end = &_s_a_prn($fh, $i, $values, $el, $op, \$border, \$col)
863 125 3 if (@n < 2 and $n[0] < $nd) { }
864 17 108 if ($ii =~ /\-$/) { }
867 0 49 if $end = &_s_a_prn($fh, $i, $values, $el, $op, \$border, \$col)
872 0 108 if $end = &_s_a_prn($fh, $n[0], $values, $el, $op, \$border, \$col)
878 1 6 if $end = &_s_a_prn($fh, $i, $values, $el, $op, \$border, \$col)
882 1 127 if $end
891 80 2 ref $vardata eq 'HASH' ? :
893 0 82 unless @$columns
901 35 47 if (ref \$values eq "SCALAR" or ref $values eq "SCALAR")
905 37 10 if (ref $values eq 'ARRAY') { }
10 0 elsif (ref $values eq 'HASH') { }
907 1 36 unless (@$values)
908 1 0 if $DEBUG or not $op->{'ignore'}
919 14 78 if $DEBUG
925 47 222 !($row || $col) || $row >= $#{$values;} && !(defined $ki && length $ki) ? :
928 232 37 if (defined $ki) { }
929 0 232 if ($ki eq '%%%ADDA') { }
28 204 elsif (ref \$d eq 'SCALAR' or ref $d eq 'SCALAR') { }
95 109 elsif (ref $d eq 'HASH') { }
109 0 elsif (ref $d eq 'ARRAY') { }
0 0 elsif ($op->{'def'}) { }
934 28 0 if ($ki =~ /^[\d,\-]+$/)
936 12 16 if $row
939 16 0 if $_
942 1 15 $end ? :
947 2 93 if (defined $val and ref $val eq 'ARRAY') { }
0 186 elsif (ref \$val ne 'SCALAR' and ref $val ne 'SCALAR') { }
949 0 14 unless ref \$vv eq "SCALAR"
951 0 14 if $end = &_hvt_print($fh, $ki, $vv, $el, $op, $border)
955 0 2 $end ? :
963 109 0 if ($ki =~ /^[\d,\-]+$/)
966 109 0 if $_
969 0 109 $end ? :
973 0 0 if $DEBUG
983 0 130 if $end = &_hvt_print($fh, $ki, $val, $el, $op, $border)
989 0 79 if $end
1002 12 27 !$col || $col >= $#{$columns;} && !(defined $ki && length $ki) ? :
1005 36 3 if (defined $ki) { }
1006 3 33 if ($ki eq '%%%ADDA') { }
24 9 elsif (ref \$values->{$ki} eq 'SCALAR' and !$op->{'def'} || defined $values->{$ki}) { }
1 8 elsif (ref $values->{$ki} eq 'SCALAR' and !$op->{'def'} || defined ${$$values{$ki};}) { }
2 6 elsif ($ki eq '@' and ref $values->{'@'} eq 'ARRAY') { }
6 0 elsif ($op->{'def'}) { }
1017 1 10 unless defined $k and exists $values->{$k}
1020 8 2 if (ref \$values->{$k} eq 'SCALAR') { }
1 1 elsif (ref $values->{$k} eq 'SCALAR') { }
1 0 elsif ($op->{'def'}) { }
1027 0 1 if $DEBUG
1032 0 9 if $end = &_hvt_print($fh, $k, $v, $el, $op, $border)
1036 0 2 $end ? :
1039 0 6 if $DEBUG
1049 1 30 if $end = &_hvt_print($fh, $ki, $val, $el, $op, $border)