Condition Coverage

blib/lib/PAGI/Request/MultipartStream.pm
Criterion Covered Total %
condition 33 60 55.0


and 3 conditions

line !l l&&!r l&&r condition
108 0 1 20 defined $args{'boundary'} and length $args{'boundary'}
219 0 0 25 $msg && $msg->{'type'}
224 0 1 20 defined $msg->{'body'} and length $msg->{'body'}
251 4 9 2 not $had_failure and defined $self->{'_failed'}
279 18 1 7 $self->{'_current'} and not $self->{'_current'}{'_done'}
282 23 18 0 @{$self->{'_queue'};} and $self->{'_queue'}[0][0] eq "body"
283 23 0 18 @{$self->{'_queue'};} and $self->{'_queue'}[0][0] eq "part"
492 0 0 1 ref $r and $r->can("get")

or 2 conditions

line l !l condition
153 11 13 $headers{'content-type'} // "text/plain"
160 24 0 $headers->{'content-disposition'} // ""
205 3 0 $self->{'_cur_name'} // ""

or 3 conditions

line l !l&&r !l&&!r condition
116 0 20 0 $args{'max_files'} // $MAX_FILES
1 19 0 $args{'max_fields'} // $MAX_FIELDS
1 19 0 $args{'max_field_size'} // $MAX_FIELD_SIZE
2 18 0 $args{'max_file_size'} // $MAX_FILE_SIZE
1 19 0 $args{'max_request_body'} // $MAX_REQUEST_BODY
170 0 0 0 $result{$1} //= $2
210 0 2 0 $self->{'_failed'} //= "Multipart parse error: $_[0]"
219 0 4 21 not $msg && $msg->{'type'} or $msg->{'type'} eq "http.disconnect"
250 0 0 0 $self->{'_failed'} //= "Multipart parse error (finish): $@"
500 0 1 0 $self->{'stream'}{'_failed'} //= "sink error: $err"