Branch Coverage

blib/lib/CGI/Framework.pm
Criterion Covered Total %
branch 34 220 15.4


line true false branch
918 0 0 if (@failed) { }
938 0 0 if (@failed) { }
995 0 0 if ($self->form('_sv')) { }
1000 0 0 if ($self->form('_template') and not $self->session('_lastsent'))
1008 0 0 if ($$self{'disable_back_button'} and $self->session('_lastsent')) { }
0 0 elsif ($self->form('_template')) { }
1026 0 0 if ($validate_template and defined &{"$$self{'callbacks_namespace'}::validate_$validate_template";})
1028 0 0 if ($$self{'_html'}{'_errors'})
1068 0 0 if (length $key) { }
1069 0 0 $$self{'_import_form'} ? :
1113 0 0 if (ref $existing_value ne 'ARRAY')
1130 0 0 if (ref $existing_value ne 'ARRAY')
1151 0 0 ref $_[0] eq 'HASH' ? :
1161 0 1 ref $_[0] eq 'HASH' ? :
1175 0 1 if ($CGI::Framework::LASTINSTANCE)
1185 2 5 if (not exists $para{$_} and exists $para{$temp})
1194 0 0 if $para{'fatal_error_email'} and not $para{'smtp_host'} and not $para{'sendmail'}
1195 0 1 if ($para{'fatal_error_template'} or $para{'fatal_error_email'})
1209 0 0 if (exists $ENV{'HTTPS'} and $ENV{'HTTPS'} and $error =~ /^((103:)?Software caused connection abort)|((104:)?Connection reset by peer)/i)
1237 0 0 if ($para{'fatal_error_template'})
1242 0 0 if (not $@) { }
0 0 elsif ($@ =~ /mod_?perl/i and $@ =~ /exit/i) { }
1254 0 0 unless ($errorsent)
1261 0 0 if (not $emailsent and $para{'fatal_error_email'} and $para{'sendmail'})
1263 0 0 unless open SMH, "| $para{'sendmail'} -t -i"
1265 0 0 ref $para{'fatal_error_email'} eq 'ARRAY' ? :
1274 0 0 unless $@
1276 0 0 if (not $emailsent and $para{'fatal_error_email'} and $para{'smtp_host'})
1280 0 0 unless $smtp->mail($para{'smtp_from'} || 'cgiframework@localhost')
1281 0 0 ref $para{'fatal_error_email'} eq 'ARRAY' ? :
0 0 unless $smtp->recipient(ref $para{'fatal_error_email'} eq 'ARRAY' ? @{$para{'fatal_error_email'};} : $para{'fatal_error_email'})
1282 0 0 unless $smtp->data("X-CGI-Framework-Method: Net::SMTP $para{'smtp_host'}\nX-CGI-Framework-REMOTE-ADDR: $ENV{'REMOTE_ADDR'}\nX-CGI-Framework-PID: $$\n\nThe following fatal error occurred:\n\n$error")
1285 0 0 unless $@
1306 1 0 unless ($para{'cookie_name'})
1310 1 0 unless ($para{'sessions_mysql_dbh'} or $para{'sessions_dir'})
1316 1 0 if (-d $_)
1322 0 1 unless ($para{'templates_dir'})
1324 0 0 if (-d $_)
1330 1 0 unless ($para{'sessions_serializer_default'} or $para{'sessions_serializer_storable'} or $para{'sessions_serializer_freezethaw'})
1337 0 1 unless ref $para{'valid_languages'} eq 'ARRAY'
1338 0 1 if ($para{'maketext_class_name'})
1339 0 0 unless @{$para{'valid_languages'};}
1341 0 1 if $para{'sessions_dir'} and $para{'sessions_mysql_dbh'}
1342 1 0 if ($para{'sessions_dir'}) { }
0 0 elsif ($para{'sessions_mysql_dbh'}) { }
1347 0 1 if -e $para{'sessions_dir'} and not -d $para{'sessions_dir'}
1348 0 1 unless -d $para{'sessions_dir'} or mkdir $para{'sessions_dir'}, 448
1349 0 1 unless -w $para{'sessions_dir'}
1357 0 0 unless ref $para{'sessions_mysql_dbh'}
1362 0 1 if (grep({$para{$_};} 'sessions_serializer_default', 'sessions_serializer_storable', 'sessions_serializer_freezethaw') > 1)
1365 0 1 unless $para{'templates_dir'}
1366 0 1 unless -d $para{'templates_dir'}
1367 0 1 unless -f "$para{'templates_dir'}/errors.html"
1368 0 1 unless $para{'initial_template'}
1369 0 1 if ($para{'log_filename'})
1370 0 0 unless open FH, ">>$para{'log_filename'}"
1373 0 1 if ($para{'output_filter'})
1374 0 0 if (ref $para{'output_filter'} eq 'CODE') { }
0 0 elsif (defined &{"$$self{'callbacks_namespace'}::$para{'output_filter'}";}) { }
1406 0 1 if ($para{'maketext_class_name'})
1408 0 0 unless eval "require $para{'maketext_class_name'};"
1409 0 0 if ($@) { }
1420 1 0 if ($para{'sessions_dir'}) { }
1426 0 1 if ($para{'sessions_serializer_storable'}) { }
0 1 elsif ($para{'sessions_serializer_freezethaw'}) { }
1445 0 1 if ($para{'import_form'})
1450 1 0 if (not $cookie_value or $$self{'_session'}->id ne $cookie_value)
1453 0 1 $para{'cookie_domain'} ? :
1455 0 0 $para{'expire'} =~ /[^0-9]/ ? :
0 1 $para{'expire'} ? :
1461 0 1 if ($$self{'_cgi'}->param('_lang') and scalar @{$$self{'valid_languages'};}) { }
0 2 elsif (scalar @{$$self{'valid_languages'};} and not $$self{'_session'}->param('_lang')) { }
1462 0 0 if (grep {$$self{'_cgi'}->param('_lang') eq $_;} @{$$self{'valid_languages'};}) { }
1523 0 0 unless $filename
1547 0 0 if ($self->session('_lang') eq $_) { }
1555 0 0 if ($content_type eq 'application/x-netscape-autoconfigure-dialer') { }
0 0 elsif ($content_type eq 'text/html') { }
1574 0 0 unless $output =~ /<$_>/i
1618 0 0 wantarray ? :
1629 0 0 defined $value ? :
1648 0 0 if (defined &{"$$self{'callbacks_namespace'}::pre__pre__all";})
1656 0 0 if (defined &{"$$self{'callbacks_namespace'}::pre_$template_name";})
1664 0 0 if (defined &{"$$self{'callbacks_namespace'}::post__pre__all";})
1680 0 0 if ($$self{'output_filter'})
1688 0 0 if ($$self{'disable_back_button'})
1697 0 0 if (defined &{"$$self{'callbacks_namespace'}::pre__post__all";})
1705 0 0 if (defined &{"$$self{'callbacks_namespace'}::post_$template_name";})
1713 0 0 if (defined &{"$$self{'callbacks_namespace'}::post__post__all";})
1721 0 0 if (not $nofinalize)
1737 0 0 unless open FH, ">>$filename"
1757 0 0 unless $$self{'maketext_class_name'}
1758 0 0 unless ($$self{'_language_handle'})
1760 0 0 if ($self->session('_lang') eq $language)
1762 0 0 unless eval '$self->{_language_handle} = ' . $$self{'maketext_class_name'} . '->get_handle( "' . $language . '" );'
1763 0 0 if $@
1787 0 0 if (-e "$$self{'templates_dir'}/$template_name.html") { }
0 0 elsif (-e "$$self{'templates_dir'}/$template_name.ins") { }
0 0 elsif (-e "$$self{'templates_dir'}/$template_name.txt") { }
1793 0 0 if ($ENV{'HTTP_USER_AGENT'} =~ /MSIE/i) { }
1807 0 0 wantarray ? :
1816 0 0 if ($self->_get_template_details('missinginfo')) { }
1836 0 0 unless ref $arrayref eq 'ARRAY'
1837 0 0 if (ref $$arrayref[0] eq 'CGI::Framework') { }
0 0 elsif (ref $CGI::Framework::LASTINSTANCE eq 'CGI::Framework') { }
1867 0 0 unless $dir =~ m(^([/\\])|(\w:))
1868 0 0 if -d $dir
1877 0 0 unless mkdir $_, 493
1881 0 0 unless chmod 0777, $sessions_dir
2150 0 0 unless open FH, ">$filename"
2154 0 0 unless chmod $mode, $filename