Branch Coverage

blib/lib/Protocol/WebSocket/Frame.pm
Criterion Covered Total %
branch 84 94 89.3


line true false branch
27 0 74 if ref $class
30 3 71 if (@_ == 1) { }
41 38 36 unless defined $buffer
43 9 65 if (&Encode::is_utf8($buffer)) { }
50 20 54 if (defined $self->{'type'} and defined $TYPES{$self->{'type'}})
58 65 9 unless exists $self->{'max_fragments_amount'}
59 63 11 unless exists $self->{'max_payload_size'}
73 2 217 unless defined $_[0]
76 204 13 unless &readonly($_[0])
85 14 13 unless defined $bytes
94 243 32 defined $_[0]{'fin'} ? :
199 275 @_ > 1 ? :
96 199 0 @_ > 1 ? :
102 121 20 defined $_[0]{'opcode'} ? :
45 141 @_ > 1 ? :
104 199 552 @_ > 1 ? :
116 20 34 if ($self->version eq 'draft-hixie-75' or $self->version eq 'draft-ietf-hybi-00')
119 1 19 if ($self->{'buffer'} =~ s/^\xff\x00//)
124 9 10 unless $self->{'buffer'} =~ s/^[^\x00]*\x00(.*?)\xff//s
129 5 29 unless length $self->{'buffer'} >= 2
151 1 198 if ($payload_len == 126) { }
5 193 elsif ($payload_len > 126) { }
152 0 1 unless length $self->{'buffer'} >= $offset + 2
159 0 5 unless length $self->{'buffer'} >= $offset + 4
169 0 5 if ($Protocol::WebSocket::Frame::Config{'ivsize'} <= 4 or $Protocol::WebSocket::Frame::Config{'longsize'} < 8 or $] < 5.01) { }
180 2 197 if ($self->{'max_payload_size'} and $payload_len > $self->{'max_payload_size'})
188 6 191 if ($self->masked)
189 0 6 unless length $self->{'buffer'} >= $offset + 4
195 0 197 if length $self->{'buffer'} < $offset + $payload_len
199 6 191 if ($self->masked)
206 1 196 if (@{$self->{'fragments'};} and $opcode & 8)
211 21 175 if ($self->fin) { }
212 4 17 if (@{$self->{'fragments'};}) { }
225 6 169 unless (@{$self->{'fragments'};})
232 2 173 if @{$self->{'fragments'};} > $self->{'max_fragments_amount'}
242 4 81 if ($self->version eq 'draft-hixie-75' or $self->version eq 'draft-ietf-hybi-00')
245 1 3 if ($self->{'type'} and $self->{'type'} eq 'close')
252 2 79 if ($self->{'max_payload_size'} and length $self->{'buffer'} > $self->{'max_payload_size'})
259 7 72 if ($self->{'rsv'} and ref $self->{'rsv'} eq 'ARRAY')
267 33 46 $self->fin ? :
270 72 7 if ($payload_len <= 125) { }
1 6 elsif ($payload_len <= 65535) { }
271 7 65 if $self->masked
275 0 1 $self->masked ? :
279 0 6 $self->masked ? :
282 0 6 $Protocol::WebSocket::Frame::Config{'ivsize'} <= 4 ? :
286 7 72 if ($self->masked) { }