| 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(? |
|
| 281 | 122 | 411 | unless $$z =~ /%%%[AETV]\S*:/ |
| 283 | 80 | 331 | if ($$z =~ /%%%(?:END(? |
| 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 =~ /(? %?)/ or $$z =~ /^\s*%%%+ADD(? %?)\s?(? |
|
| 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?(? |
|
| 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) |