Branch Coverage

blib/lib/Tie/SecureHash.pm
Criterion Covered Total %
branch 70 118 59.3


line true false branch
13 0 0 if $Tie::SecureHash::strict and $Tie::SecureHash::fast
24 19 13 if $nonpublic
32 13 10 if ($classes[$j]->isa($classes[$i])) { }
0 10 elsif ($classes[$i]->isa($classes[$j])) { }
35 9 4 if ($caller->isa($classes[$j])) { }
1 3 elsif ($classes[$j]->isa($caller)) { }
51 0 0 if ($caller->isa($classes[$i])) { }
0 0 elsif ($classes[$i]->isa($caller)) { }
81 578 73 if ($key =~ /\A([\w:]*)::((_{0,2})[^:]+)\Z/) { }
18 55 elsif ($key =~ /\A(__[^:]+)\Z/) { }
55 0 elsif ($key =~ /\A((_?)[^:]+)\Z/) { }
84 18 560 unless ($classname)
89 124 454 if ($mode eq '__') { }
159 295 elsif ($mode eq '_') { }
91 66 58 unless $classname eq $caller
93 48 10 if (exists $$self{'fullkeys'}{$key}) { }
95 0 48 if $$self{'file'}{$key} ne $file
100 0 10 if ($delete) { }
106 88 71 unless $caller->isa($classname)
110 44 380 unless (exists $$self{'fullkeys'}{$key})
112 4 40 if $classname ne $caller and not $delete
115 2 38 if ($delete) { }
131 0 18 if $Tie::SecureHash::strict and $ENV{'UNSAFE_WARN'}
134 11 7 unless (exists $$self{'fullkeys'}{"${caller}::$key"})
136 5 6 if exists $$self{'keylist'}{$key}
141 7 0 if (exists $$self{'fullkeys'}{$key})
143 0 7 if $$self{'file'}{$key} ne $file
153 0 55 if $Tie::SecureHash::strict and $ENV{'UNSAFE_WARN'}
156 23 32 if (exists $$self{'fullkeys'}{$fullkey}) { }
162 12 20 unless $$self{'keylist'}{$key}
165 16 16 if (@classes) { }
170 5 11 if @classes > 1
177 3 1 $2 ? :
4 12 if exists $$self{'keylist'}{$key}
179 9 3 $2 ? :
188 2 459 if ($delete)
202 1 0 unless $Tie::SecureHash::fast
205 0 1 if (@_)
211 0 0 if $ancestor eq $blessclass
213 0 0 unless defined $file
217 0 0 $key =~ /::/ ? :
218 0 0 if ($Tie::SecureHash::fast) { }
226 0 0 if $key =~ /\A__/
241 0 0 unless $self
259 0 0 if (eval { do { _access($self, $shortkey, $caller, $file); 1 } }) { }
0 0 elsif ($@ =~ /\AAmbiguous key/) { }
274 0 0 if ($shortkey =~ /\A__/ and $@ =~ /file/) { }
0 0 elsif ($shortkey =~ /\A__/) { }
289 0 0 if (defined $val) { }
292 0 0 if $explanation
330 0 1 if ($Tie::SecureHash::strict) { }
0 1 elsif ($Tie::SecureHash::fast) { }
332 0 0 unless (caller 1)[3] =~ /\A(.*?)::([^:]*)\Z/ and $2 eq 'new' and "$1"->isa('Tie::SecureHash') and $ENV{'UNSAFE_WARN'}
350 210 0 if $entry
358 32 0 if $entry
376 2 0 if @inaccessibles
385 57 7 eval { do { _access($self, $key, @context); 1 } } ? :
402 114 114 if eval { do { _access($self, $key, @context) } }
403 0 114 if $ENV{'UNSAFE_WARN'}