| lib/Template/Parser.pm | |||
|---|---|---|---|
| Criterion | Covered | Total | % |
| condition | 49 | 67 | 73.1 |
| line | !l | l&&!r | l&&r | condition |
|---|---|---|---|---|
| 131 | 1 | 1 | 141 | $_[0] && ref $_[0] eq 'HASH' |
| 224 | 1 | 6 | 10 | @$blocks && $blocks->[-1] eq $name |
| 398 | 0 | 8 | 1303 | defined $text and length $text |
| 418 | 0 | 3822 | 0 | s/^($CHOMP_FLAGS)?(\s*)//os and $2 |
| 428 | 3681 | 21 | 120 | $chomp and $pre |
| 544 | 311 | 0 | 1095 | defined $pre and length $pre |
| 687 | 381 | 157 | 279 | @tokens and $$ANYCASE_AFTER{$tokens[-2]} |
| 862 | 43518 | 1308 | 30006 | not defined $token and @$tokens |
| 867 | 4090 | 2 | 15 | $info->{'DEBUG'} and not $in_string |
| line | l | !l | condition |
|---|---|---|---|
| 150 | 2 | 141 | $config->{'FACTORY'} || 'Template::Directive' |
| 188 | 142 | 0 | $self->{'FACTORY'}->new('NAMESPACE', $config->{'NAMESPACE'}) || (return $class->error($self->{'FACTORY'}->error)) |
| 248 | 1 | 143 | $self->{'STYLE'} ||= [] |
| 353 | 1310 | 0 | $self->split_text($text) || (return undef) |
| 421 | 16 | 3792 | $linecount ||= 0 |
| 742 | 157 | 0 | $self->{'DEFBLOCK'} || (return undef) |
| 754 | 28 | 2 | $self->{'DEFBLOCK_STACK'} ||= [] |
| 762 | 30 | 0 | $self->{'DEFBLOCK_STACK'} || (return $defs) |
| 776 | 25 | 0 | $self->{'METADATA'} || (return undef) |
| 796 | 0 | 8 | $info->{'path'} || $info->{'name'} || '(unknown template)' |
| 798 | 3343 | 172 | $line ||= 1 |
| line | l | !l&&r | !l&&!r | condition |
|---|---|---|---|---|
| 177 | 0 | 143 | 0 | $self->{'GRAMMAR'} ||= do { require Template::Grammar; 'Template::Grammar'->new } |
| 259 | 0 | 5 | 0 | $config->{'START_TAG'} ||= $start |
| 260 | 0 | 5 | 0 | $config->{'END_TAG'} ||= $end |
| 261 | 0 | 2 | 3 | $config->{'OUTLINE_TAG'} ||= $out |
| 541 | 41 | 0 | 1365 | $3 || $4 |
| 687 | 279 | 212 | 326 | @tokens and $$ANYCASE_AFTER{$tokens[-2]} or $text =~ /$ANYCASE_BEFORE/cg |