Branch Coverage

blib/lib/CGI/SSI.pm
Criterion Covered Total %
branch 93 182 51.1


line true false branch
19 1 0 unless exists $args{'autotie'}
20 0 0 $args{'autotie'} =~ /::/ ? :
35 0 26 if (exists $ENV{'SCRIPT_NAME'})
76 1 0 if (not $args{'filehandle'} =~ /::/) { }
81 0 1 unless open $$self{'_handle'}, '>&' . $handle_to_tie
108 95 100 if ($token =~ /^$/s) { }
111 18 82 if $self->_suspended
122 0 95 if $self->_suspended and not $text =~ /^(?:if|else|elif|endif)\b/
125 0 95 unless ($text =~ s/^(\S+)\s*//)
146 2 0 if @_ == 2
148 1 1 if ($var eq 'DATE_LOCAL') { }
0 1 elsif ($var eq 'DATE_GMT') { }
0 1 elsif ($var eq 'LAST_MODIFIED') { }
156 1 0 if exists $$self{'_variables'}{$var}
157 0 0 if exists $ENV{$var}
167 3 2 if ($type =~ /^timefmt$/i) { }
1 1 elsif ($type =~ /^sizefmt$/i) { }
1 0 elsif ($type =~ /^errmsg$/i) { }
170 0 1 if (lc $value eq 'abbrev') { }
1 0 elsif (lc $value eq 'bytes') { }
189 3 4 if (scalar keys %args > 1) { }
200 7 5 if @_ == 2
202 1 11 if ($var eq 'DATE_LOCAL') { }
0 11 elsif ($var eq 'DATE_GMT') { }
2 9 elsif ($var eq 'LAST_MODIFIED') { }
210 9 0 if exists $$self{'_variables'}{$var}
211 0 0 if exists $ENV{$var}
221 0 45 if ($DEBUG)
223 42 3 if (lc $type eq 'file') { }
3 0 elsif (lc $type eq 'virtual') { }
234 0 43 if ($DEBUG)
238 0 43 unless -e $filename
241 1 42 if (++$$self{'_recursions'}{$filename} >= $$self{'_max_recursions'})
248 0 42 unless (open $fh, $filename)
258 0 3 if ($DEBUG)
262 1 2 if ($filename =~ m[^/(.+)])
264 0 1 if (-e '/' . $file) { }
1 0 elsif (-e catfile($$self{'_variables'}{'DOCUMENT_ROOT'}, $file)) { }
0 0 elsif (-e catfile($FindBin::Bin, $file)) { }
271 1 0 if -e $file
280 0 2 unless (my $uri = eval { do { my $uri = 'URI'->new($filename); $uri->scheme($uri->scheme || ($ENV{'HTTPS'} ? 'https' : 'http')); $uri->host($uri->host || $ENV{'HTTP_HOST'} || $ENV{'SERVER_NAME'} || 'localhost'); $uri } })
284 0 2 if ($@)
286 0 0 if $@
294 0 2 if (++$$self{'_recursions'}{$url} >= $$self{'_max_recursions'})
302 2 0 unless ($response->is_success)
314 0 3 if $ENV{'HTTP_USER_AGENT'}
322 0 0 if (my $jar = shift())
330 1 1 if (lc $type eq 'cmd') { }
1 0 elsif (lc $type eq 'cgi') { }
344 0 1 if (++$$self{'_recursions'}{$filename} >= $$self{'_max_recursions'})
352 0 1 if ($?)
365 0 1 if (++$$self{'_recursions'}{$filename} >= $$self{'_max_recursions'})
377 0 1 unless (my $uri = eval { do { my $uri = 'URI'->new($filename); $uri->scheme($uri->scheme || ($ENV{'HTTPS'} ? 'https' : 'http')); $uri->host($uri->host || $ENV{'HTTP_HOST'} || $ENV{'SERVER_NAME'}); $uri->query($uri->query || $ENV{'QUERY_STRING'}); $uri } })
381 0 1 if ($@)
383 0 0 if $@
392 1 0 unless ($response->is_success)
404 55 1 if (lc $type eq 'file') { }
0 1 elsif (lc $type eq 'virtual') { }
405 54 1 unless -e $filename
407 0 0 unless $filename =~ /$$self{'_variables'}{'DOCUMENT_ROOT'}/
413 0 55 unless (-e $filename)
420 3 52 if ($$self{'_config'}{'timefmt'}) { }
431 1 0 if (lc $type eq 'file') { }
0 0 elsif (lc $type eq 'virtual') { }
432 0 1 unless -e $filename
434 0 0 unless $filename =~ /$ENV{'DOCUMENT_ROOT'}/
439 0 1 unless (-e $filename)
446 1 0 if (lc $$self{'_config'}{'sizefmt'} eq 'bytes') { }
451 0 0 unless $fsize
452 0 0 if $fsize < 1024
453 0 0 if $fsize < 1048576
454 0 0 if $fsize < 103809024
455 0 0 if $fsize < 1048576
466 0 18 if $@
467 18 0 defined $retval ? :
489 14 0 if $$self{'_in_if'}
504 6 0 if $$self{'_suspend'}[$$self{'_in_if'}]
515 14 0 if @_ == 3
517 7 7 if ($self->_test($expr)) { }
527 0 4 unless $self->_in_if
528 4 0 if @_ == 3
529 3 1 if (not $self->_seen_true and $self->_test($expr)) { }
533 0 1 unless $self->_suspended
540 0 9 unless $self->_in_if
541 3 6 if (not $self->_seen_true) { }
551 0 14 unless $self->_in_if
570 0 0 unless (UNIVERSAL::isa(tied *STDOUT, 'CGI::SSI'))
575 0 0 if (-f $filename) { }
576 0 0 unless open my $fh, '<', $filename
594 0 52 if ($$self[-1]{'_config'}{'timefmt'}) { }
607 1 53 if ($$self[-1]{'_config'}{'timefmt'}) { }