Condition Coverage

blib/lib/CGI/Framework.pm
Criterion Covered Total %
condition 22 157 14.0


and 2 conditions

line l !l condition
1461 1 0 $$self{'_cgi'}->param('_lang') and scalar @{$$self{'valid_languages'};}

and 3 conditions

line !l l&&!r l&&r condition
1000 0 0 0 $self->form('_template') and not $self->session('_lastsent')
1008 0 0 0 $$self{'disable_back_button'} and $self->session('_lastsent')
1026 0 0 0 $validate_template and defined &{"$$self{'callbacks_namespace'}::validate_$validate_template";}
1185 0 5 2 not exists $para{$_} and exists $para{$temp}
1194 1 0 0 $para{'fatal_error_email'} and not $para{'smtp_host'}
1 0 0 $para{'fatal_error_email'} and not $para{'smtp_host'} and not $para{'sendmail'}
1209 0 0 0 exists $ENV{'HTTPS'} and $ENV{'HTTPS'}
0 0 0 exists $ENV{'HTTPS'} and $ENV{'HTTPS'} and $error =~ /^((103:)?Software caused connection abort)|((104:)?Connection reset by peer)/i
1242 0 0 0 $@ =~ /mod_?perl/i and $@ =~ /exit/i
1261 0 0 0 not $emailsent and $para{'fatal_error_email'}
0 0 0 not $emailsent and $para{'fatal_error_email'} and $para{'sendmail'}
1276 0 0 0 not $emailsent and $para{'fatal_error_email'}
0 0 0 not $emailsent and $para{'fatal_error_email'} and $para{'smtp_host'}
1341 0 1 0 $para{'sessions_dir'} and $para{'sessions_mysql_dbh'}
1347 0 1 0 -e $para{'sessions_dir'} and not -d $para{'sessions_dir'}
1461 1 0 0 scalar @{$$self{'valid_languages'};} and not $$self{'_session'}->param('_lang')

or 2 conditions

line l !l condition
903 0 0 $$self{'_html'}{'_errors'} || []
1112 0 0 $$self{'_html'}{$key} || []
1129 0 0 $$self{'_html'}{$key} || []
1152 0 0 (caller)[0] || 'main'
1160 1 0 shift() || 'CGI::Framework'
1264 0 0 $para{'smtp_from'} || 'cgiframework@localhost'
1280 0 0 $para{'smtp_from'} || 'cgiframework@localhost'
1304 0 1 $para{'valid_languages'} ||= []
1305 1 0 (caller)[0] || 'main'
1404 0 1 $$self{'_cgi'}->cookie($para{'cookie_name'}) || undef

or 3 conditions

line l !l&&r !l&&!r condition
901 0 0 0 shift() || croak('Error not supplied')
1042 0 0 0 $self->form('_action') || $$self{'initial_template'}
1098 0 0 0 shift() || croak('key not supplied')
1110 0 0 0 shift() || croak('key not supplied')
1127 0 0 0 shift() || croak('key not supplied')
1143 0 0 0 shift() || croak('initial template not supplied')
1152 0 0 0 $para{'callbacks_namespace'} ||= (caller)[0] || 'main'
1170 0 1 0 ref $class || $class
1195 0 0 1 $para{'fatal_error_template'} or $para{'fatal_error_email'}
1279 0 0 0 'Net::SMTP'->new($para{'smtp_host'}) || die("Could not create Net::SMTP object: $@\n")
1305 0 1 0 $para{'callbacks_namespace'} ||= (caller)[0] || 'main'
1310 0 0 1 $para{'sessions_mysql_dbh'} or $para{'sessions_dir'}
1330 0 0 1 $para{'sessions_serializer_default'} or $para{'sessions_serializer_storable'}
0 0 1 $para{'sessions_serializer_default'} or $para{'sessions_serializer_storable'} or $para{'sessions_serializer_freezethaw'}
1348 1 0 0 -d $para{'sessions_dir'} or mkdir $para{'sessions_dir'}, 448
1403 1 0 0 'CGI'->new || die("Failed to create a new CGI instance: $! $@\n")
1435 1 0 0 'CGI::Session'->new("driver:$sessions_driver;serializer:$sessions_serializer", $cookie_value, {'Handle', $para{'sessions_mysql_dbh'}, 'Directory', $para{'sessions_dir'}}) || die("Failed to create new CGI::Session instance with $sessions_driver - based storage and $sessions_serializer - based serialization: $! $@\n")
1450 1 0 0 not $cookie_value or $$self{'_session'}->id ne $cookie_value
1494 0 0 0 shift() || croak('key not supplied')
1495 0 0 0 shift() || $sourcekey
1506 0 0 0 shift() || croak('Template name not supplied')
1525 0 0 0 'HTML::Template'->new('filename', $filename, 'path', [$$self{'templates_dir'}], 'associate', [$$self{'_session'}, $$self{'_cgi'}], 'die_on_bad_params', 0, 'loop_context_vars', 1) || die("Error creating HTML::Template instance: $! $@\n")
1576 0 0 0 $$self{'action'} || $ENV{'SCRIPT_NAME'}
1627 0 0 0 shift() || croak('key not supplied')
1641 0 0 0 shift() || croak('Template name not supplied')
1734 0 0 0 $$self{'log_filename'} || croak('Can not use log_this since no log_filename was defined in the constructor')
1753 0 0 0 shift() || croak('string not supplied to localize')
1783 0 0 0 shift() || croak('templatename not supplied')
1855 0 0 0 shift() || die("\n\nError: You must supply a directory as the first argument\n\n")