Branch Coverage

blib/lib/HTML/Template/Compiled/Compiler.pm
Criterion Covered Total %
branch 283 338 83.7


line true false branch
71 0 4 if (ref $def eq 'HASH') { }
73 0 0 if (my $arguments = $def->{'arguments'})
80 3 1 if (ref $sub eq 'CODE') { }
107 0 14 unless $escape
111 2 13 if ($_ eq 'HTML') { }
1 12 elsif ($_ eq 'HTML_ALL') { }
4 8 elsif ($_ eq 'URL') { }
2 6 elsif ($_ eq 'JS') { }
1 5 elsif ($_ eq 'IJSON') { }
1 4 elsif ($_ eq 'DUMP') { }
4 0 elsif (my $plug_class = $escapes->{$_}) { }
142 0 4 if (my $arguments = $ESCAPES{$plug_class}{$_}{'arguments'})
145 0 0 if ($arg eq 'var') { }
0 0 elsif ($arg eq 'self') { }
157 14 0 ref $exp ? :
195 27 341 if (not defined $args{'var'} and defined $args{'expr'})
207 0 341 unless ($t->validate_var($args{'var'}))
218 35 94 if defined $_
5 336 if (grep {$args{'var'} eq $_ if defined $_;} @$lexicals)
235 336 0 $OPT_INITIAL_VAR ? :
236 54 282 if ($t->get_loop_context and $args{'var'} =~ /^__(\w+)__$/)
237 54 0 if (exists $loop_context{lc $args{'var'}})
243 9 273 if (not $DISABLE_NEW_ALIAS and $args{'var'} =~ s/^\$(\w+)//) { }
2 271 elsif ($lexi and $args{'var'} =~ s/^($lexi)($re)/$2/) { }
16 255 elsif ($args{'var'} =~ /^_/ and not $args{'var'} =~ /^__(\w+)__$/) { }
35 220 elsif (my(@roots) = $args{'var'} =~ /\G($re)/cg) { }
258 34 1 if @roots == 1
260 1 34 if (@roots > 1) { }
34 0 elsif (@roots == 1) { }
261 0 1 if !$t->get_global_vars & 2
270 0 34 if $OPT_ROOT_HASH
277 4 302 if (s/#\z//)
280 15 291 if (/(.*)\[(-?\d+)\]/) { }
291 4 302 if $count
298 279 3 $use_objects eq 'strict' ? :
304 322 4 length $_ ? :
306 223 59 if (@split == 1)
311 1 321 if ($i == $#split and defined $args{'method_args'})
315 2 320 if ($i == $#split and $ccontext eq 'list')
316 1 1 if ($context->get_name eq 'EACH') { }
1 0 elsif ($context->get_name eq 'LOOP') { }
333 16 306 if ($p =~ s/^\[(-?\d+)\]$/$1/) { }
4 302 elsif ($p =~ s/^#$//) { }
35 267 elsif ($use_objects and $p =~ s/^\Q$args{'method_call'}\E//) { }
10 257 elsif ($p =~ s/^\Q$args{'deref'}\E//) { }
3 254 elsif ($p =~ s/^\Q$args{'formatter_path'}\E//) { }
356 289 33 if ($method_call or $guess)
357 2 287 unless ($p =~ /^[A-Za-z_][A-Za-z0-9_]*\z/)
363 264 23 if ($method_call or $guess or $deref)
364 23 276 if ($count == 0 and $t->get_global_vars & 1)
370 275 47 $t->get_case_sensitive ? :
372 16 306 if (defined $array_index) { }
4 302 elsif ($get_length) { }
23 279 elsif ($try_global) { }
264 15 elsif ($method_call or $guess) { }
12 3 elsif ($deref) { }
3 0 elsif ($formatter_call) { }
390 236 28 if ($i == 0)
391 235 1 if ($use_initial_var)
396 0 236 if ($OPT_IS_OBJECT and $is_object_var)
401 0 264 if ($i == 0 and $root_hash) { }
261 3 elsif ($strict) { }
420 99 223 if (@split > 1) { }
421 31 68 if ($used_initial_var and $i == 0) { }
435 42 240 if (@split > 1) { }
436 31 11 if ($used_initial_var) { }
444 17 223 unless length $varstr
453 0 322 unless $dump =~ s/^\$string *= *//
461 7 154 if (my $filter = $self->get_filter)
467 6 145 if (my $df = $self->get_debug->{'file'})
468 3 3 $df =~ /short/ ? :
469 4 2 if ($df =~ /start/)
476 4 2 if ($df =~ /end/)
491 0 151 $self->get_debug->{'options'} & &HTML::Template::Compiled::DEBUG_COMPILED() ? :
498 7 144 if ($out_fh)
503 4 147 if (my $warnings = $self->get_warnings)
504 2 2 if ($warnings eq 1) { }
2 0 elsif ($warnings eq 'fatal') { }
522 0 151 if ($OPT_IS_OBJECT)
523 0 0 if ($OPT_ROOT_HASH) { }
558 8 143 if ($self->get_global_vars)
563 311 715 if @lexicals
568 12 1014 if $line_info
569 544 482 if (not $token->is_tag) { }
383 99 elsif ($token->is_open) { }
99 0 elsif ($token->is_close) { }
570 541 3 if (length $text)
576 223 318 if ($text =~ /\A(?:\r?\n|\r)\z/) { }
588 235 148 if ($tname eq 'VAR') { }
4 144 elsif ($tname eq 'PERL') { }
13 131 elsif ($tname eq 'WITH') { }
590 28 207 if ($self->get_use_query)
594 0 235 if (exists $tags->{$tname} and exists $tags->{$tname}{'open'}) { }
621 9 0 exists $map{$1} ? :
638 5 8 if ($self->get_global_vars)
648 0 13 if ($OPT_IS_OBJECT)
655 0 383 if ($tname eq 'USE_VARS') { }
4 379 elsif ($tname eq 'SET_VAR') { }
52 327 elsif ($tname eq 'LOOP' or $tname eq 'WHILE' or $tname eq 'EACH') { }
5 322 elsif ($tname eq 'ELSE') { }
19 303 elsif ($tname eq 'IF') { }
4 299 elsif ($tname eq 'IF_DEFINED') { }
2 297 elsif ($tname eq 'UNLESS') { }
7 290 elsif ($tname eq 'ELSIF') { }
3 287 elsif ($tname eq 'SWITCH') { }
5 282 elsif ($tname eq 'CASE') { }
1 281 elsif ($tname eq 'INCLUDE_STRING') { }
26 255 elsif ($tname eq 'INCLUDE_VAR' or $tname eq 'INCLUDE' or $tname eq 'WRAPPER') { }
659 0 0 if ($var =~ tr[0-9A-Z_a-z](\000-/:-@[-^`{-\377)c)
675 1 3 if ($var =~ tr[0-9A-Z_a-z](\000-/:-@[-^`{-\377)c)
688 3 0 if (exists $attr->{'VALUE'}) { }
0 0 elsif (exists $attr->{'EXPR'}) { }
731 13 39 if ($self->get_use_query)
738 1 51 if (defined(my $break = $attr->{'BREAK'}))
740 1 0 if ($break)
752 2 50 if ($attr->{'SORTBY'})
764 1 51 if ($attr->{'REVERSE'})
768 50 2 if (not defined $attr->{'SORT'} or uc $attr->{'SORT'} eq 'ALPHA') { }
2 0 elsif (uc $attr->{'SORT'} eq 'NUM') { }
776 9 43 defined $lexical ? :
778 3 49 if ($self->get_global_vars)
786 2 50 if ($tname eq 'WHILE') { }
6 44 elsif ($tname eq 'EACH') { }
797 0 2 if ($OPT_IS_OBJECT)
818 2 42 if (defined(my $join = $attr->{'JOIN'}))
844 0 44 if ($OPT_IS_OBJECT)
917 2 3 if ($switches[$#switches]) { }
925 1 4 if (not length $val or uc $val eq 'DEFAULT') { }
934 1 5 uc $_ eq 'DEFAULT' ? :
941 2 2 if ($is_default or @splitted > 1) { }
968 0 1 $out_fh ? :
980 1 25 $tname eq 'INCLUDE_VAR' ? :
984 22 4 unless ($self->get_scalar)
986 4 18 if ($self->get_search_path == 1) { }
2 16 elsif ($self->get_search_path == 2) { }
995 1 25 if ($dynamic) { }
998 0 1 if ($self->get_use_query)
1013 3 21 if ($self->get_use_query)
1021 23 1 if ($recursed <= 1)
1023 23 0 if $self->compile_early
1039 25 0 defined $path ? :
1041 2 23 defined $cwd ? :
1042 8 17 defined $cache ? :
1043 1 24 if ($dynamic) { }
6 18 elsif ($tname eq 'WRAPPER') { }
1058 0 1 $out_fh ? :
1074 3 3 if ($out_fh)
1096 3 3 if ($out_fh)
1119 0 18 $out_fh ? :
1130 3 0 if ($subs and $subs->{'open'})
1139 38 61 if ($tname =~ /^(?:IF|UNLESS|WITH|IF_DEFINED)$/) { }
3 58 elsif ($tname eq 'SWITCH') { }
52 6 elsif ($tname eq 'LOOP' or $tname eq 'WHILE' or $tname eq 'EACH') { }
6 0 elsif ($tname eq 'WRAPPER') { }
1141 29 9 unless defined $var
1144 5 33 if ($self->get_global_vars and $tname eq 'WITH')
1147 13 25 $tname eq 'WITH' ? :
1152 3 0 if ($switches[$#switches])
1164 13 39 if ($self->get_use_query)
1168 3 49 if ($self->get_global_vars)
1186 0 0 if ($subs and $subs->{'close'})
1195 10 139 if ($self->get_use_query)
1199 8 141 if (@use_vars)
1207 0 149 if $self->get_debug->{'options'} & &HTML::Template::Compiled::DEBUG_COMPILED()
1210 149 0 if ($code =~ /(\A.*\z)/ms) { }
1221 0 149 if $@
1245 4 231 if (defined $attr->{'DEFAULT'})
1255 14 221 if (exists $attr->{'ESCAPE'})
1258 14 221 if $escape