Branch Coverage

blib/lib/Mojo/Content.pm
Criterion Covered Total %
branch 104 106 98.1


line true false branch
20 312 2738 ((shift())->headers->content_type // '') =~ /$BOUNDARY_RE/u ? :
24 610 470 $type =~ /charset\s*=\s*"?([^"\s;]+)"?/iu ? :
29 4 15 if $self->is_dynamic
36 170 75 unless length($self->{'body_buffer'} //= "")
37 152 92 if length $self->{'body_buffer'}
38 67 25 if $self->{'eof'}
41 3 22 &looks_like_number($len) && $len == $offset ? :
75 295 2694 if $self->{'state'} eq "headers"
79 140 2554 if ($self->is_chunked) { }
22 2532 elsif ($self->is_sse) { }
81 31 109 if ($self->{'chunk_state'} // "") eq "finished"
91 2528 4 unless $limit
96 123 2571 if ($self->skip_body)
104 112 2459 if ($self->auto_relax and not length $len)
106 110 2 if $connection eq "close" or not $connection
110 286 2285 if ($self->is_chunked or $self->relaxed)
118 877 1408 unless &looks_like_number($len)
119 1214 1071 if ((my $need = $len - ($self->{'size'} ||= 0)) > 0)
121 251 963 $need > $len ? :
125 2034 251 if $len <= $self->progress
138 7 2320 unless my $state = $self->{'state'}
139 6 2314 unless $state eq "body" or $state eq "finished"
147 148 4 if defined $chunk
148 29 123 if $cb
149 46 106 if defined $chunk and not length $chunk
157 30 80 unless $self->{'chunked'}
160 109 1 if defined $chunk
161 66 44 if $cb
162 22 88 if defined $chunk and not length $chunk
170 16 41 unless $self->{'sse'}
173 2 55 unless defined $event
181 22 87 unless length $chunk
184 57 30 $self->{'chunks'}++ ? :
192 1438 62 unless $self->auto_decompress and $self->is_compressed
198 62 0 if defined $out
201 51 11 if $status == Z_STREAM_END()
204 1 61 if length($self->{'post_buffer'} // "") > $self->max_buffer_size
209 2374 2124 if defined $self->{'header_buffer'}
211 2119 5 $headers ? :
219 2 138 if ($self->{'chunk_state'} // "") eq "trailing_headers"
224 156 105 unless ($self->{'chunk_len'})
225 20 136 unless $self->{'pre_buffer'} =~ s/^(?:\x0d?\x0a)?([0-9a-fA-F]+).*\x0a//u
226 105 31 if $self->{'chunk_len'} = hex $1
234 57 48 if $self->{'chunk_len'} < $len
241 31 107 if ($self->{'chunk_state'} // "") eq "trailing_headers"
244 1 137 if length($self->{'pre_buffer'} // "") > $self->max_buffer_size
251 2 31 unless $headers->is_finished
257 30 1 unless $headers->content_length
264 590 2260 unless $headers->is_finished
276 16 6 unless $self->{'sse'}
283 0 22 if length($self->{'pre_buffer'} // "") > $self->max_buffer_size
291 2850 2938 if ($self->{'state'} ||= "headers") eq "headers"
292 2293 3495 if $self->{'state'} ne "headers" and not $self->{'body'}++