Condition Coverage

blib/lib/HTTP/Tiny.pm
Criterion Covered Total %
condition 191 293 65.1


and 3 conditions

line !l l&&!r l&&r condition
83 1 0 0 not $persist_ok{$accessor} and $_[1] ne $_[0]{$accessor}
95 1 142 2 defined $agent && $agent =~ / $/
209 0 0 0 @_ == 3 and ref $args eq "HASH"
2 1 6 @_ == 3 and ref $args eq "HASH"
0 0 0 @_ == 3 and ref $args eq "HASH"
0 0 0 @_ == 3 and ref $args eq "HASH"
0 0 2 @_ == 3 and ref $args eq "HASH"
0 0 8 @_ == 3 and ref $args eq "HASH"
241 0 0 1 @_ == 4 and ref $args eq "HASH"
287 3 1 1 @_ == 4 and ref $args eq "HASH"
298 2 0 3 -e $file and my $mtime = (stat $file)[9]
316 0 0 3 $lm and my $mtime = $self->_parse_http_date($lm)
436 3 1 111 @_ == 4 and ref $args eq "HASH"
444 129 0 10 $@ and $idempotent{$method}
0 10 0 $@ and $idempotent{$method} and $@ =~ /^(?:Socket closed|Unexpected end|SSL read error)/
450 10 0 0 ref $e eq "HASH" and exists $e->{'status'}
489 0 0 6 @_ == 2 and ref $data
551 10 3 0 ref $self and $self->{'verify_SSL'} || $self->{'SSL_options'}{'SSL_verify_mode'}
614 139 10 1 $scheme ne "http" and $scheme ne "https"
669 106 0 34 $self->{'keep_alive'} and $handle->connected
106 2 32 $self->{'keep_alive'} and $handle->connected and $known_message_length
2 2 30 $self->{'keep_alive'} and $handle->connected and $known_message_length and $response->{'protocol'} eq "HTTP/1.1"
4 1 29 $self->{'keep_alive'} and $handle->connected and $known_message_length and $response->{'protocol'} eq "HTTP/1.1" and ($response->{'headers'}{'connection'} || '') ne "close"
707 144 0 2 $self->{'_has_proxy'}{$scheme} and not grep({$host =~ /\Q$_\E$/;} @{$$self{"no_proxy"};})
733 1 0 1 length $p_auth and not defined $request->{'headers'}{'proxy-authorization'}
755 1 0 21 defined $scheme and length $scheme
1 0 21 defined $scheme and length $scheme and length $host
0 0 21 defined $scheme and length $scheme and length $host and length $port
0 0 21 defined $scheme and length $scheme and length $host and length $port and $path_query eq "/"
826 15 1 26 defined $args->{'content'} and length $args->{'content'}
833 5 0 0 exists $request->{'content-length'} and $request->{'content-length'} == 0
867 139 1 4 length $auth and not defined $request->{'headers'}{'authorization'}
887 134 1 4 $data_cb and $response->{'status'} =~ /^2/
920 0 2 27 ref $jar and ref($jar)->can($method)
933 128 0 13 $status eq '303' || $status =~ /^30[1278]/ && $method =~ /^GET|HEAD$/ and $headers->{'location'}
0 2 11 $status eq '303' || $status =~ /^30[1278]/ && $method =~ /^GET|HEAD$/ and $headers->{'location'} and @{$args->{'_redirects'};} < $self->{'max_redirect'}
964 160 4 21 $host =~ s/:(\d*)\z// && length $1
1073 0 2 0 $self->{'fh'} and $self->{'fh'}->can("timeout")
1122 0 0 8 $self->{'fh'} and $self->{'fh'}->connected
1242 678 4 0 $len and not $allow_partial
1348 0 0 148 @_ >= 2 and @_ <= 4
0 0 148 @_ >= 2 and @_ <= 4 and ref $_[1] eq "HASH"
1452 2 21 150 defined $data and length $data
1499 4 1 54 defined $data and length $data
1559 474 0 0 defined $timeout and $timeout >= 0
1562 0 0 474 defined $fd and $fd >= 0

or 2 conditions

line l !l condition
120 3 139 $args{'verify_SSL'} || $args{'verify_ssl'} || 0
158 1 1 $ENV{'CGI_HTTP_PROXY'} || ''
209 0 1 $args || {}
6 68 $args || {}
0 2 $args || {}
0 0 $args || {}
2 0 $args || {}
8 0 $args || {}
438 111 28 $args ||= {}
669 1 29 $response->{'headers'}{'connection'} || ''
837 5 0 $request->{'headers'}{'content-type'} ||= "application/octet-stream"
850 7 14 $request->{'headers'}{'content-type'} ||= "application/octet-stream"
931 11 130 $args->{'_redirects'} ||= []
1281 16 152 $headers ||= {}
1350 23 125 $header_case ||= {}
1404 14 125 $response->{'headers'}{'transfer-encoding'} || ''

or 3 conditions

line l !l&&r !l&&!r condition
145 1 1 137 $ENV{'all_proxy'} || $ENV{'ALL_PROXY'}
159 2 4 131 $ENV{'http_proxy'} || $ENV{'HTTP_PROXY'} || $self->{'proxy'}
172 1 4 134 $ENV{'https_proxy'} || $ENV{'HTTPS_PROXY'} || $self->{'proxy'}
209 1 0 0 @_ == 2 or @_ == 3 and ref $args eq "HASH"
68 7 2 @_ == 2 or @_ == 3 and ref $args eq "HASH"
2 0 0 @_ == 2 or @_ == 3 and ref $args eq "HASH"
0 0 0 @_ == 2 or @_ == 3 and ref $args eq "HASH"
0 2 0 @_ == 2 or @_ == 3 and ref $args eq "HASH"
0 8 0 @_ == 2 or @_ == 3 and ref $args eq "HASH"
241 5 1 0 @_ == 3 or @_ == 4 and ref $args eq "HASH"
287 4 1 4 @_ == 3 or @_ == 4 and ref $args eq "HASH"
299 1 2 0 $args->{'headers'}{'if-modified-since'} ||= $self->_http_date($mtime)
320 3 1 1 $response->{'success'} ||= $response->{'status'} eq 304
436 28 112 3 @_ == 3 or @_ == 4 and ref $args eq "HASH"
491 2 4 0 ref $data eq "HASH" or ref $data eq "ARRAY"
551 2 0 1 $self->{'verify_SSL'} || $self->{'SSL_options'}{'SSL_verify_mode'}
602 3 141 0 ref $_[0] || $_[0]
628 0 149 0 $args->{'peer'} || $host
645 3 144 2 $handle ||= $self->_open_handle($request, $scheme, $host, $port, $peer)
658 1 1 139 $method eq "HEAD" or $response->{'status'} =~ /^[23]04/
820 0 144 0 $request->{'headers'}{'user-agent'} ||= $self->{'agent'}
825 8 34 102 $request->{'method'} eq "PUT" or $request->{'method'} eq "POST"
840 2 0 3 exists $request->{'headers'}{'content-length'} or $request->{'headers'}{'transfer-encoding'}
853 1 0 20 $request->{'headers'}{'content-length'} or $request->{'headers'}{'transfer-encoding'}
933 2 20 119 $status eq '303' || $status =~ /^30[1278]/ && $method =~ /^GET|HEAD$/
1207 281 401 0 @_ == 2 or @_ == 3
1279 152 16 0 @_ == 1 or @_ == 2
1388 1 371 0 $_ eq "" or /\A $Field_Content \z/ox
1424 125 282 0 @_ == 3 or @_ == 4
1426 282 106 19 $content_length ||= $response->{'headers'}{'content-length'}
1578 0 0 0 not $timeout or ($pending = $timeout - (time - $initial)) > 0
1588 516 0 0 @_ == 1 or @_ == 2
1597 8 0 0 @_ == 1 or @_ == 2
1617 0 0 13 $self->{'pid'} != $$ or $self->{'tid'} != _get_tid()
0 0 13 $self->{'pid'} != $$ or $self->{'tid'} != _get_tid() or length $self->{'rbuf'}
0 1 12 $self->{'pid'} != $$ or $self->{'tid'} != _get_tid() or length $self->{'rbuf'} or $scheme ne $self->{'scheme'}
1 1 11 $self->{'pid'} != $$ or $self->{'tid'} != _get_tid() or length $self->{'rbuf'} or $scheme ne $self->{'scheme'} or $host ne $self->{'host'}
2 1 10 $self->{'pid'} != $$ or $self->{'tid'} != _get_tid() or length $self->{'rbuf'} or $scheme ne $self->{'scheme'} or $host ne $self->{'host'} or $port ne $self->{'port'}
2 0 10 $self->{'pid'} != $$ or $self->{'tid'} != _get_tid() or length $self->{'rbuf'} or $scheme ne $self->{'scheme'} or $host ne $self->{'host'} or $port ne $self->{'port'} or $peer ne $self->{'peer'}
1 7 3 $self->{'pid'} != $$ or $self->{'tid'} != _get_tid() or length $self->{'rbuf'} or $scheme ne $self->{'scheme'} or $host ne $self->{'host'} or $port ne $self->{'port'} or $peer ne $self->{'peer'} or eval { do { $self->can_read(0) } }
7 0 3 $self->{'pid'} != $$ or $self->{'tid'} != _get_tid() or length $self->{'rbuf'} or $scheme ne $self->{'scheme'} or $host ne $self->{'host'} or $port ne $self->{'port'} or $peer ne $self->{'peer'} or eval { do { $self->can_read(0) } } or $@