Condition Coverage

blib/lib/PAGI/Request.pm
Criterion Covered Total %
condition 57 91 62.6


and 3 conditions

line !l l&&!r l&&r condition
271 0 1 1 $t and $t->can("on_high_water")
278 0 1 1 $t and $t->can("on_drain")
359 22 9 1 not defined $params and $strict
375 6 11 8 $strict and not exists $params->{$name}
441 0 0 3 defined $boundary and length $boundary
470 0 0 13 $message and $message->{'type'}
594 5 0 0 $self->{'scope'}{'pagi.request.form'} and $self->{'scope'}{'pagi.request.uploads'}

or 2 conditions

line l !l condition
30 9 3 +(shift())->{'scope'}{'query_string'} // ""
31 1 2 +(shift())->{'scope'}{'scheme'} // "http"
32 2 2 +(shift())->{'scope'}{'http_version'} // "1.1"
63 18 0 $self->header("content-type") // ""
79 40 0 $self->{'scope'}{'headers'} // []
96 0 15 delete $opts{'strict'} // 0
97 0 15 delete $opts{'raw'} // 0
109 14 0 $key //= ""
110 14 0 $val //= ""
164 3 1 $self->header("cookie") // ""
176 9 0 (shift())->method // ""
177 9 0 (shift())->method // ""
178 7 0 (shift())->method // ""
179 7 0 (shift())->method // ""
180 7 0 (shift())->method // ""
181 7 0 (shift())->method // ""
182 7 0 (shift())->method // ""
332 2 1 $self->header("authorization") // ""
342 2 1 $self->header("authorization") // ""
363 22 9 $params // {}
399 5 2 $self->{'scope'}{'state'} // {}
438 3 0 $self->header("content-type") // ""
473 12 0 $message->{'body'} // ""
486 0 1 delete $opts{'strict'} // 0
504 0 8 delete $opts{'strict'} // 0
505 0 8 delete $opts{'raw'} // 0
534 6 0 $key //= ""
535 6 0 $val //= ""
597 5 0 $self->header("content-type") // ""

or 3 conditions

line l !l&&r !l&&!r condition
29 3 0 1 $s->{'scope'}{'raw_path'} // $s->{'scope'}{'path'}
79 32 40 0 $self->{'scope'}{'pagi.request.headers'} //= "PAGI::Headers"->new($self->{'scope'}{'headers'} // [])
301 0 0 0 $ct eq 'application/x-www-form-urlencoded' || $ct =~ m[^multipart/form-data]
435 1 1 4 $self->{'scope'}{'pagi.request.body.read'} or $self->{'scope'}{'pagi.request.body.stream.created'}