Branch Coverage

blib/lib/Readonly.pm
Criterion Covered Total %
branch 95 140 67.8


line true false branch
48 1 0 if ($Readonly::XSokay) { }
49 0 1 if &is_sv_readonly($r_var)
52 0 0 unless tied($r_var) =~ /Readonly::Scalar/
65 4 5 unless tied @$r_var
66 0 5 unless tied(@$r_var) =~ /Readonly::Array/
78 0 12 if ($_reftype eq 'SCALAR') { }
1 11 elsif ($_reftype eq 'ARRAY') { }
0 11 elsif ($_reftype eq 'HASH') { }
90 4 4 unless tied %$r_var
91 0 4 unless tied(%$r_var) =~ /Readonly::Hash/
103 0 4 if ($_reftype eq 'SCALAR') { }
1 3 elsif ($_reftype eq 'ARRAY') { }
0 3 elsif ($_reftype eq 'HASH') { }
126 0 0 if $cloning
132 1 4 unless $whence and $whence =~ /^Readonly::(?:Scalar1?|Readonly)$/
135 0 4 unless @_
136 0 4 unless @_ == 1
148 0 0 if caller() ne 'Readonly'
157 4 0 if $cloning
163 1 27 unless $whence =~ /^Readonly::Array1?$/
181 14 0 if $] >= 5.006
194 1 5 if caller() ne 'Readonly'
203 4 0 if $cloning
209 1 24 unless $whence =~ /^Readonly::Hash1?$/
213 0 24 unless @_ % 2 == 0
243 1 4 if caller() ne 'Readonly'
265 5 78 if $type =~ s/^Readonly:://
271 1 2 if &is_sv_readonly($_[0])
273 0 2 if $badtype
276 2 0 if ($Readonly::XSokay)
284 0 0 if ($@)
285 0 0 if substr($@, 0, 43) eq $Readonly::MODIFY
294 0 2 if $badtype
302 0 1 if $badtype
306 0 1 if (@_ == 1 and ref $_[0] eq 'HASH')
311 0 1 unless @_ % 2 == 0
317 2 15 if &is_sv_readonly($_[0])
319 0 15 if $badtype
324 1 14 if (ref $_ eq 'SCALAR') { }
2 12 elsif (ref $_ eq 'ARRAY') { }
2 10 elsif (ref $_ eq 'HASH') { }
330 15 0 if ($Readonly::XSokay)
338 0 0 if ($@)
339 0 0 if substr($@, 0, 43) eq $Readonly::MODIFY
348 2 25 if $badtype
354 1 66 if (ref $_ eq 'SCALAR') { }
1 65 elsif (ref $_ eq 'ARRAY') { }
3 62 elsif (ref $_ eq 'HASH') { }
366 2 25 if $badtype
371 11 14 if (@_ == 1 and ref $_[0] eq 'HASH')
376 2 23 unless @values % 2 == 0
380 1 77 if (ref $_ eq 'SCALAR') { }
3 74 elsif (ref $_ eq 'ARRAY') { }
1 73 elsif (ref $_ eq 'HASH') { }
390 3 5 if ref $retval eq 'REF'
392 1 7 if ($reftype eq 'SCALAR') { }
3 4 elsif ($reftype eq 'ARRAY') { }
4 0 elsif ($reftype eq 'HASH') { }
401 3 1 if wantarray
407 0 9 if &is_sv_readonly(${$_[0];})
1 8 if $badtype
0 8 if @_ > 2
4 4 if @_ == 1 and defined ${$_[0];}
0 0 if $@ =~ /^$Readonly::MODIFY at/
0 4 if ($@)
1 8 if @_ % 2 != 0 and not @_ == 1 && ref $_[0] eq 'HASH'
9 15 if (ref $_[0] eq 'SCALAR') { }
6 9 elsif (ref $_[0] eq 'ARRAY') { }
9 0 elsif (ref $_[0] eq 'HASH') { }
0 0 elsif (ref $_[0]) { }