| lib/Template/Parser.pm | |||
|---|---|---|---|
| Criterion | Covered | Total | % |
| condition | 48 | 67 | 71.6 |
| line | !l | l&&!r | l&&r | condition |
|---|---|---|---|---|
| 131 | 0 | 1 | 132 | $_[0] && ref $_[0] eq 'HASH' |
| 224 | 1 | 6 | 10 | @$blocks && $$blocks[-1] eq $name |
| 398 | 0 | 7 | 1282 | defined $text and length $text |
| 418 | 0 | 3751 | 0 | s/^($CHOMP_FLAGS)?(\s*)//os and $2 |
| 428 | 3612 | 21 | 118 | $chomp and $pre |
| 544 | 309 | 0 | 1092 | defined $pre and length $pre |
| 687 | 362 | 153 | 265 | @tokens and $$ANYCASE_AFTER{$tokens[-2]} |
| 862 | 42882 | 1287 | 29574 | not defined $token and @$tokens |
| 867 | 4022 | 2 | 15 | $$info{'DEBUG'} and not $in_string |
| line | l | !l | condition |
|---|---|---|---|
| 150 | 2 | 131 | $$config{'FACTORY'} || 'Template::Directive' |
| 188 | 132 | 0 | $$self{'FACTORY'}->new('NAMESPACE', $$config{'NAMESPACE'}) || (return $class->error($$self{'FACTORY'}->error)) |
| 248 | 1 | 133 | $$self{'STYLE'} ||= [] |
| 353 | 1289 | 0 | $self->split_text($text) || (return undef) |
| 421 | 15 | 3726 | $linecount ||= 0 |
| 742 | 154 | 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 | 3447 | 8 | $$info{'path'} || $$info{'name'} || '(unknown template)' |
| 798 | 3284 | 171 | $line ||= 1 |
| line | l | !l&&r | !l&&!r | condition |
|---|---|---|---|---|
| 177 | 0 | 133 | 0 | $$self{'GRAMMAR'} ||= do { require Template::Grammar; 'Template::Grammar'->new } |
| 259 | 0 | 3 | 0 | $$config{'START_TAG'} ||= $start |
| 260 | 0 | 3 | 0 | $$config{'END_TAG'} ||= $end |
| 261 | 0 | 0 | 3 | $$config{'OUTLINE_TAG'} ||= $out |
| 541 | 41 | 0 | 1360 | $3 || $4 |
| 687 | 265 | 204 | 311 | @tokens and $$ANYCASE_AFTER{$tokens[-2]} or $text =~ /$ANYCASE_BEFORE/cg |