Branch Coverage

blib/lib/Tie/SecureHash.pm
Criterion Covered Total %
branch 107 158 67.7


line true false branch
16 0 2 if $strict and $fast
17 1 3 if $loud
27 38 26 if $nonpublic
35 26 20 if ($classes[$j]->isa($classes[$i])) { }
0 20 elsif ($classes[$i]->isa($classes[$j])) { }
37 18 8 if ($caller->isa($classes[$j])) { }
2 6 elsif ($classes[$j]->isa($caller)) { }
49 0 0 if ($caller->isa($classes[$i])) { }
0 0 elsif ($classes[$i]->isa($caller)) { }
77 1156 146 if ($key =~ /\A([\w:]*)::((_{0,2})[^:]+)\Z/) { }
36 110 elsif ($key =~ /\A(__[^:]+)\Z/) { }
110 0 elsif ($key =~ /\A((_?)[^:]+)\Z/) { }
79 36 1120 unless ($classname)
84 248 908 if ($mode eq '__') { }
318 590 elsif ($mode eq '_') { }
86 132 116 unless $classname eq $caller
88 96 20 if (exists $self->{'fullkeys'}{$key}) { }
90 0 96 if $self->{'file'}{$key} ne $file
92 0 20 if ($delete) { }
100 176 142 unless $caller->isa($classname)
104 88 760 unless (exists $self->{'fullkeys'}{$key})
105 8 80 if $classname ne $caller and not $delete
108 4 76 if ($delete) { }
122 0 18 if $strict and $ENV{'UNSAFE_WARN'}
123 22 14 unless (exists $self->{'fullkeys'}{"${caller}::$key"})
125 10 12 if exists $self->{'keylist'}{$key}
129 14 0 if (exists $self->{'fullkeys'}{$key})
131 0 14 if $self->{'file'}{$key} ne $file
141 0 55 if $strict and $ENV{'UNSAFE_WARN'}
142 46 64 if (exists $self->{'fullkeys'}{$fullkey}) { }
146 24 40 unless $self->{'keylist'}{$key}
148 32 32 if (@classes) { }
152 10 22 if @classes > 1
159 6 2 $2 ? :
8 24 if exists $self->{'keylist'}{$key}
160 18 6 $2 ? :
168 4 918 if ($delete)
176 74 0 if $strict
179 0 74 if $isa[-1] eq 'Exporter'
183 1 94 if ($action eq 'DELETE') { }
185 0 1 if (exists $self->{'fullkeys'}{$k})
189 0 1 if $deleted
192 30 64 if $val
201 83 0 if $strict
202 83 0 if ($loud)
216 3 1 unless $fast
219 0 4 if (@_)
224 0 0 if $ancestor eq $blessclass
226 0 0 unless defined $file
229 0 0 $key =~ /::/ ? :
230 0 0 if ($fast) { }
235 0 0 if $key =~ /\A__/
249 0 0 unless $self
264 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__/) { }
284 0 0 if (defined $val) { }
290 0 0 if $explanation
323 2 1 if ($strict) { }
0 1 elsif ($fast) { }
328 2 0 unless (caller 1)[3] =~ /\A(.*?)::([^:]*)\Z/ and $2 eq 'new' and "$1"->isa('Tie::SecureHash') and $ENV{'UNSAFE_WARN'}
339 460 135 if (not $dangerous) { }
72 63 elsif ($key =~ /::/) { }
347 555 0 if $entry
354 100 51 if (not $dangerous) { }
41 10 elsif ($key =~ /::/) { }
363 115 0 if $entry
369 6 3 if (not $dangerous) { }
2 1 elsif ($key =~ /::/) { }
384 2 4 if ($dangerous) { }
393 4 0 if @inaccessibles
402 128 18 if (not $dangerous) { }
9 9 elsif ($key =~ /::/) { }
404 114 14 eval { do { _access($self, $key, @context); 1 } } ? :
411 9 0 if $strict
426 6 240 if ($dangerous)
432 228 228 if eval { do { _access($self, $key, @context) } }
433 0 228 if $ENV{'UNSAFE_WARN'}