Branch Coverage

blib/lib/Protocol/WebSocket/Frame.pm
Criterion Covered Total %
branch 82 92 89.1


line true false branch
26 0 71 if ref $class
29 3 68 if (@_ == 1) { }
40 37 34 unless defined $buffer
42 9 62 if (&Encode::is_utf8($buffer)) { }
49 18 53 if (defined $self->{'type'} and defined $TYPES{$self->{'type'}})
58 60 11 unless exists $self->{'max_payload_size'}
72 2 174 unless defined $_[0]
75 161 13 unless &readonly($_[0])
84 14 13 unless defined $bytes
93 158 32 defined $_[0]{'fin'} ? :
157 190 @_ > 1 ? :
95 157 0 @_ > 1 ? :
101 78 20 defined $_[0]{'opcode'} ? :
43 98 @_ > 1 ? :
103 157 382 @_ > 1 ? :
115 20 33 if ($self->version eq 'draft-hixie-75' or $self->version eq 'draft-ietf-hybi-00')
118 1 19 if ($self->{'buffer'} =~ s/^\xff\x00//)
123 9 10 unless $self->{'buffer'} =~ s/^[^\x00]*\x00(.*?)\xff//s
128 5 28 unless length $self->{'buffer'} >= 2
150 1 156 if ($payload_len == 126) { }
5 151 elsif ($payload_len > 126) { }
151 0 1 unless length $self->{'buffer'} >= $offset + 2
158 0 5 unless length $self->{'buffer'} >= $offset + 4
168 0 5 if ($Protocol::WebSocket::Frame::Config{'ivsize'} <= 4 or $Protocol::WebSocket::Frame::Config{'longsize'} < 8 or $] < 5.01) { }
179 2 155 if ($self->{'max_payload_size'} and $payload_len > $self->{'max_payload_size'})
187 6 149 if ($self->masked)
188 0 6 unless length $self->{'buffer'} >= $offset + 4
194 0 155 if length $self->{'buffer'} < $offset + $payload_len
198 6 149 if ($self->masked)
205 1 154 if (@{$self->{'fragments'};} and $opcode & 8)
210 21 133 if ($self->fin) { }
211 4 17 if (@{$self->{'fragments'};}) { }
224 5 128 unless (@{$self->{'fragments'};})
231 1 132 if @{$self->{'fragments'};} > $self->{'max_fragments_amount'}
241 4 38 if ($self->version eq 'draft-hixie-75' or $self->version eq 'draft-ietf-hybi-00')
244 1 3 if ($self->{'type'} and $self->{'type'} eq 'close')
251 2 36 if ($self->{'max_payload_size'} and length $self->{'buffer'} > $self->{'max_payload_size'})
258 7 29 if ($self->{'rsv'} and ref $self->{'rsv'} eq 'ARRAY')
266 33 3 $self->fin ? :
269 29 7 if ($payload_len <= 125) { }
1 6 elsif ($payload_len <= 65535) { }
270 7 22 if $self->masked
274 0 1 $self->masked ? :
278 0 6 $self->masked ? :
281 0 6 $Protocol::WebSocket::Frame::Config{'ivsize'} <= 4 ? :
285 7 29 if ($self->masked) { }