Branch Coverage

blib/lib/Template/Alloy/Compile.pm
Criterion Covered Total %
branch 87 112 77.6


line true false branch
72 1744 1 if ($doc->{'_filename'})
74 9 1735 if ($self->{'COMPILE_DIR'} or $self->{'COMPILE_EXT'})
76 4 5 if ($self->{'COMPILE_DIR'}) { }
1 4 elsif ($doc->{'_is_str_ref'}) { }
77 0 4 if $^O eq 'MSWin32'
82 7 2 if defined $self->{'COMPILE_EXT'}
83 9 0 if defined $Template::Alloy::PERL_COMPILE_EXT
85 1 8 if (-e $file and $doc->{'_is_str_ref'} || (stat $file)[9] == $doc->{'modtime'}) { }
96 8 1689 if ($doc->{'_compile_filename'})
99 0 8 unless (-d $dir)
103 0 8 unless open my $fh, '>', $doc->{'_compile_filename'}
105 1 7 if ($self->{'ENCODING'} and eval { do { require Encode } } and defined &Encode::encode) { }
115 0 0 if not $perl and $@
132 107 1589 if $self->{'_blocks'}
133 46 1650 if $self->{'_meta'}
146 107 1589 $self->{'_blocks'} ? :
46 1650 $self->{'_meta'} ? :
186 1359 3724 unless (ref $node)
193 8 3716 if ($self->{'_debug_dirs'} and not $self->{'_debug_off'})
208 3724 0 if ($func = $$DIRECTIVES{$node->[0]}) { }
213 0 0 if ($func = $$Template::Alloy::Play::DIRECTIVES{$node->[0]}) { }
231 0 305 unless $directive =~ /^\w+$/
296 0 1 if ($text eq 'on') { }
0 1 elsif ($text eq 'off') { }
1 0 elsif ($text eq 'format') { }
342 0 25 unless @$filter
349 6 19 if (length $name)
378 23 67 unless (defined $name)
388 67 23 if (defined $name) { }
411 27 13 if ($node->[0] eq 'ELSE') { }
448 6 15 unless ref $ref
474 0 34 if (not $sub_tree && $sub_tree->[0]) { }
23 17 elsif (ref $sub_tree->[0] and $sub_tree->[0][0] eq 'BLOCK') { }
524 46 46 if (my $kp = $node->[3])
525 46 0 if ref $kp eq 'ARRAY'
537 2 0 if $type eq 'FOREACH'
594 0 5 if (defined $node->[3]) { }
612 3 424 if ($self->{'_is_default'})
618 9 418 if (not defined $val) { }
28 390 elsif ($node->[4] and $val == $node->[4]) { }
622 1 27 if $sub_tree->[0] and $sub_tree->[0][0] eq 'BLOCK'
633 0 427 if ($Template::Alloy::OP_DISPATCH->{$op})
640 3 424 if ($self->{'_is_default'})
666 3 7 unless (defined $node->[3])
672 1 6 $i++ ? :
682 3 7 if ($default)
684 0 3 $i++ ? :
688 9 1 if $i
699 0 35 unless _is_empty_named_args($named)
726 3 45 if ($node->[0] eq 'FINAL')
735 44 6 if (@names) { }
747 8 37 if (defined $names[$i]) { }
770 3 47 if ($final)
804 0 35 if (ref $key)
805 0 0 if (@$key == 2 and not ref $key->[0] and not $key->[1]) { }
843 28 0 if ($node->[4])