Branch Coverage

blib/lib/Waft.pm
Criterion Covered Total %
branch 172 372 46.2


line true false branch
6 20 0 eval { do { require warnings } } ? :
23 2 0 if (defined $mixins[0] and $mixins[0] eq 'with')
27 0 2 if @mixins == 0
34 4 4 if ($base =~ /\A :: /msx)
38 0 8 if $caller->isa($base)
42 1 7 if ($@)
43 0 1 unless $@ =~ /\ACan't locate .*? at \(eval /
45 0 1 unless (do { no strict 'refs'; %{"${base}::";} })
65 0 2 if $class->blessed
130 5 5 if $package ne $class and $self->isa($package)
132 4 2 if defined $_
3 2 unless (grep {length $_ >= 1 if defined $_;} @args)
158 0 1 if $class->blessed
160 0 1 if $using_utf8 and not $class->can_use_utf8
170 0 14 if ($self->BCV < 0.53)
171 0 0 if $self->blessed
186 1 0 unless $@
206 0 4 if $class->blessed
217 31 10 if exists $Allow_template_file_exts_arrayref_of{$class}
226 1 9 $get_allowed_exts ? :
242 0 0 if $class->blessed
264 0 0 if ($self->BCV < 0.53)
265 0 0 unless ($self->blessed)
274 0 0 unless ($self->blessed)
280 0 0 wantarray ? :
286 0 14 if $class->blessed
292 14 0 if ($class->BCV < 1)
296 0 14 if ($class->BCV < 0.53)
307 0 0 if (ref $args[0] eq 'HASH') { }
321 0 0 if ($$stash{'use_utf8'})
325 0 0 wantarray ? :
361 0 3 if (defined $ENV{'REQUEST_URI'} and $ENV{'REQUEST_URI'} =~ /\A ([^?]+) /msx) { }
374 3 0 $url =~ m[ ([^/]+) \z]msx ? :
383 1 2 if eval { do { FindBin::again(); 1 } }
394 0 3 if ($self->BCV < 0.53)
421 2 3 $self->is_submitted ? :
424 1 4 if ($self->get_using_utf8 and defined $page)
429 3 2 defined $page ? :
455 2 2 if ($self->get_using_utf8)
460 0 2 if ($@) { }
0 2 elsif ($query->VERSION < 3.31) { }
474 2 3 unless defined $page
483 3 0 if defined $untainted_page and not 'File::Spec'->file_name_is_absolute($untainted_page) and not $untainted_page eq 'CURRENT' and not $untainted_page eq 'TEMPLATE' and not $self->to_page_id($untainted_page) =~ / __indirect \z/msx
520 1 3 unless defined $joined_values
531 0 6 if ($key eq 'ALL_VALUES')
560 6 6 wantarray ? :
575 2 1 defined $action ? :
583 1 2 unless $self->is_submitted
593 0 6 if ($self->BCV < 0.53)
594 0 0 if $action_id =~ /\A global_ /msx
597 0 6 if $action_id =~ /(?: \A | _ ) direct \z/msx or $action_id =~ /(?: \A | _ ) indirect \z/msx or $action_id =~ /\A global__ /msx
601 0 6 if $self->can("__${page_id}__$action_id")
603 0 6 if defined $global_action
605 0 6 if ($self->BCV < 0.53)
606 0 0 if ($self->can("global_$action_id"))
613 2 4 if ($self->can("global__$action_id"))
620 2 0 if defined $global_action
622 0 0 if $self->can("__${page_id}__submit")
624 0 0 if ($self->BCV < 0.53)
625 0 0 if $self->can('global_submit')
628 0 0 if $self->can('global__submit')
667 0 3 if ($self->get_using_utf8) { }
681 0 5 if ($self->BCV < 0.53)
695 0 0 if $NEXT::SEEN and $Waft::Correct_NEXT_DISTINCT
697 0 0 if (my $coderef = $self->can('begin'))
705 0 0 if (my $coderef = $self->can('before'))
708 0 0 if $$stash{'responded'}
711 0 0 if (my $coderef = $self->find_action_method) { }
714 0 0 if $$stash{'responded'}
716 0 0 if ($self->BCV < 0.53)
717 0 0 if ($self->to_action_id($self->get_action) eq 'template')
720 0 0 if $$stash{'responded'}
732 0 0 if $$stash{'responded'}
735 0 0 if ++$call_count > 4
739 0 0 if ($self->can('end'))
742 0 0 if (@return_values)
747 0 0 wantarray ? :
755 0 0 wantarray ? :
0 1 if $self->stash->{'responded'}
761 0 1 if ($method_name eq 'begin' || $method_name eq 'before' and @return_values == 0)
769 0 1 ref $next eq 'HASH' ? :
0 1 ref $next eq 'ARRAY' ? :
774 1 0 unless (defined $next_page)
775 0 1 $method_name eq 'before' ? :
0 1 $method_name eq 'begin' ? :
780 1 0 unless (defined $next_action)
781 1 0 $next_page eq 'TEMPLATE' ? :
785 1 0 if ($next_page eq 'CURRENT' or $next_page eq 'TEMPLATE') { }
792 0 1 if ($next_page eq 'CURRENT' and $method_name eq 'begin' || $method_name eq 'before') { }
810 0 0 if ($self->BCV < 0.53)
811 0 0 if ($action_id eq 'direct') { }
0 0 elsif ($action_id eq 'indirect') { }
0 0 elsif ($action_id =~ /\A global_ /msx) { }
826 0 0 if ($action_id eq 'direct') { }
0 0 elsif ($action_id eq 'indirect') { }
0 0 elsif ($action_id =~ /\A global__ /msx) { }
850 0 1 if ($self->BCV < 0.53)
854 0 1 if ($page eq 'CURRENT' or $page eq 'TEMPLATE')
860 0 1 unless (defined $template_file)
879 0 1 if ($page eq 'CURRENT' or $page eq 'TEMPLATE')
883 0 1 if ('File::Spec'->file_name_is_absolute($page))
884 0 0 unless -f $page
903 3 22 if $Waft::Cache and exists $Cached_template_file{join $;, $class, $page}
909 5 17 unless defined $template_file
921 0 41 if $$seen{$class}++
928 39 0 $INC{$module_file} =~ m[\A (.+) /\Q$module_file\E \z]msx ? :
2 39 !defined($INC{$module_file}) ? :
934 22 19 if ($self->is_allowed_to_use_template_file_ext($page, $class))
942 17 71 if -f $template_file
951 9 10 if defined $template_file
960 0 41 if $self->BCV < 0.53
967 0 67 if (length $allow_template_file_ext == 0)
968 0 0 unless $page =~ / \. /msx
973 22 45 if $page =~ / \Q$allow_template_file_ext\E \z/msx
986 0 1 unless (@stat)
999 0 1 if $Waft::Cache and exists $Cached_template_coderef{$template_id}
1006 0 0 unless $cached_template_id =~ /$old_template_id_regexp/
1011 0 1 unless ($template_scalarref)
1032 0 1 unless sysopen my $file_handle = gensym, $template_file, 0
1047 1 1 if (ref $template eq 'SCALAR')
1092 2 0 $self->BCV < 1 ? :
1098 2 0 if (defined $template_class)
1102 2 0 if (defined $template_file)
1108 0 2 if $@
1116 0 0 if $form_block =~ / \b (?: output_waft_tags | (?: (?i) waft(?: \s+ | _ ) tag s? ) | form_elements # deprecated ) \b /msx
1159 5 0 if (defined $keys_arrayref_or_key and $keys_arrayref_or_key eq 'ALL_VALUES')
1165 5 0 if (ref $keys_arrayref_or_key eq 'ARRAY')
1168 0 12 unless (defined $key)
1173 0 12 unless exists $$value_hashref{$key}
1179 14 0 if defined $value
1194 0 0 if (defined $keys_arrayref_or_key) { }
1204 0 0 if (@keys_arrayref_or_key_value_pairs) { }
1208 0 0 if (not defined $value_or_values_arrayref) { }
0 0 elsif (ref $value_or_values_arrayref eq 'ARRAY') { }
1217 0 0 if defined $value
1252 0 1 unless $self->value_hashref->{$key}
1 12 if @i
1254 0 12 unless $self->value_hashref->{$key}
1265 12 12 wantarray ? :
1271 21 7 if ($text_part =~ / ([^\x0A\x0D]*) ( [\x0A\x0D] .* ) /msx)
1274 5 16 if (length $first_line > 0)
1327 0 0 if ($self->BCV < 0.53)
1328 0 0 unless (grep {/\A Content-Type: /imsx;} $self->get_response_headers)
1340 0 0 unless (grep {/\A Content-Type: /imsx;} $self->get_response_headers)
1352 0 2 if $self->BCV < 0.53
1368 2 1 if @{$$stash{'contents'};} == 1
1371 1 2 if wantarray
1386 0 10 unless (defined $value)
1399 8 2 wantarray ? :
1407 0 10 unless (defined $value)
1420 8 2 wantarray ? :
1428 0 12 unless (defined $value)
1446 0 12 wantarray ? :
1454 0 45 unless (defined $value)
1467 17 28 wantarray ? :
1484 11 73 if not $Start{join $;, $ident, $method} or (caller $back + 1)[3] ne (caller 0)[3]
1496 0 84 unless $next_coderef
1540 0 0 unless (defined $page)
1568 0 0 if ($_[0]->BCV < 0.53)
1598 8 1 if length $query_string == 0
1612 1 6 if (defined $ENV{'HTTP_HOST'}) { }
1618 2 4 if ($protocol eq 'http' and $ENV{'SERVER_PORT'} != 80 or $protocol eq 'https' and $ENV{'SERVER_PORT'} != 443)
1625 5 2 if (defined $ENV{'REQUEST_URI'} and $ENV{'REQUEST_URI'} =~ /\A ([^?]+) /msx) { }
1634 0 7 if $self->BCV < 0.53
1645 0 9 if (ref $page eq 'ARRAY')
1649 0 1 $page eq 'CURRENT' ? :
8 1 !defined($page) ? :
1655 1 8 if ($page ne 'default.html')
1661 1 8 if ($joined_values)
1678 0 4 unless (defined $value)
1684 0 4 if ($using_utf8)
1692 2 0 wantarray ? :
1698 0 9 if defined $Waft::Base_url and $self->BCV < 1
1700 0 9 if $self->BCV < 0.53
1771 1 13 if $Defined_subs_for_under_0_99x
1810 0 0 if $Defined_subs_for_under_0_52x
1815 0 0 if (@values)
1829 0 0 if ref $arrayref eq 'ARRAY'
1843 0 0 if (@args == 1 and defined $args[0] and $args[0] eq 'ALL' || $args[0] eq 'ALLVALUES')
1891 0 3 if (ref $_[2] eq 'ARRAY') { }
1892 0 0 defined $_[1] ? :
1895 3 0 defined $_[1] ? :
1906 6 0 defined $_[1] ? :
0 6 unless my $arrayref = $_[0]{defined $_[1] ? $_[1] : warn_and_null()}
1916 0 0 defined $_[1] ? :
1918 0 0 defined $_[1] ? :