Condition Coverage

blib/lib/Net/Async/Webservice/S3.pm
Criterion Covered Total %
condition 69 109 63.3


and 3 conditions

line !l l&&!r l&&r condition
250 0 0 84 length $bucket <= 63 and $bucket =~ /^[A-Z0-9][A-Z0-9.-]+$/i
285 33 0 51 defined $request->uri->query and length $request->uri->query
389 4 1 9 defined $name and $name eq 'http'
5 0 9 defined $name and $name eq 'http' and $response
1 4 5 defined $name and $name eq 'http' and $response and $response->code =~ /^4/
690 1 11 9 $resume_on_stall and $prev_f->failure
909 0 29 6 defined $content && ref $content
0 0 0 &blessed($content) and $content->isa('Future')
1103 0 0 3 @content == 2 and ref $content[0] eq 'CODE'

or 2 conditions

line l !l condition
88 8 1 $args->{'max_retries'} //= 3
89 0 9 $args->{'list_max_keys'} //= 1000
90 0 9 $args->{'read_size'} //= 65536
94 0 9 $args->{'part_size'} //= 104857600
96 0 9 $args->{'host'} //= 's3.amazonaws.com'
247 0 84 $self->{'ssl'} // 1
260 3 81 $args{'meta'} || {}
308 9 75 $request->header('Content-MD5') // ''
9 75 $request->header('Content-Type') // ''
84 0 $request->header('Date') // ''
692 9 0 ($prev_f->failure)[1] // ''

or 3 conditions

line l !l&&r !l&&!r condition
80 9 0 0 $args->{'http'} ||= do { require Net::Async::HTTP; 'Net::Async::HTTP'->VERSION('0.33'); my $http = 'Net::Async::HTTP'->new; $self->add_child($http); $http }
244 80 4 0 $args{'bucket'} // $self->{'bucket'}
245 13 71 0 $args{'abs_path'} // join('', grep({defined $_;} $self->{'prefix'}, $args{'path'}))
507 4 0 4 $last_key //= $xpc->findvalue('.//s3:NextMarker')
513 1 1 11 $args{'timeout'} // $self->{'timeout'}
0 0 13 $args{'stall_timeout'} // $self->{'stall_timeout'}
644 2 5 14 $head_future->is_cancelled or not $code =~ /^2/
663 0 3 9 $if_match ||= $header->header('ETag')
686 0 0 21 $args{'stall_timeout'} // $self->{'stall_timeout'}
695 0 3 0 $stall_failure_f ||= $prev_f
703 1 5 0 $value_future || $head_future
977 0 0 29 $args{'stall_timeout'} // $self->{'stall_timeout'}
1023 0 0 9 $args{'stall_timeout'} // $self->{'stall_timeout'}
1053 0 0 9 $args{'stall_timeout'} // $self->{'stall_timeout'}
1108 1 0 8 $args{'concurrent'} // $self->{'put_concurrent'}
1132 1 1 7 $args{'meta_timeout'} // $self->{'timeout'}
1133 1 1 7 $args{'meta_timeout'} // $self->{'timeout'}
1146 1 8 0 $args{'value_length'} // length $args{'value'}
1244 1 1 1 $args{'timeout'} // $self->{'timeout'}
0 0 3 $args{'stall_timeout'} // $self->{'stall_timeout'}