Branch Coverage

blib/lib/Data/DeepAccess.pm
Criterion Covered Total %
branch 102 138 73.9


line true false branch
14 0 19 unless @_
16 1 18 unless @keys
18 2 36 unless defined $parent
21 3 33 defined $blessed ? :
22 34 2 length $reftype ? :
25 0 36 if (ref $key eq 'HASH')
26 0 0 if (exists $key->{'key'}) { }
0 0 elsif (exists $key->{'index'}) { }
0 0 elsif (exists $key->{'method'}) { }
0 0 elsif (exists $key->{'lvalue'}) { }
38 22 14 if ($type eq 'hash') { }
8 6 elsif ($type eq 'array') { }
3 3 elsif ($type eq 'method') { }
39 0 22 if not defined $blessed and $reftype ne 'HASH'
40 3 19 unless exists $parent->{$key}
41 5 14 if $key_i == $#keys
44 0 8 if not defined $blessed and $reftype ne 'ARRAY'
45 1 7 unless exists $parent->[$key]
46 2 5 if $key_i == $#keys
49 0 3 if length $reftype and not defined $blessed
50 1 2 unless my $sub = $parent->can($key)
51 1 1 if $key_i == $#keys
61 1 18 unless @keys
63 2 36 unless defined $parent
66 3 33 defined $blessed ? :
67 34 2 length $reftype ? :
70 0 36 if (ref $key eq 'HASH')
71 0 0 if (exists $key->{'key'}) { }
0 0 elsif (exists $key->{'index'}) { }
0 0 elsif (exists $key->{'method'}) { }
0 0 elsif (exists $key->{'lvalue'}) { }
83 22 14 if ($type eq 'hash') { }
8 6 elsif ($type eq 'array') { }
3 3 elsif ($type eq 'method') { }
84 0 22 if not defined $blessed and $reftype ne 'HASH'
85 3 19 unless exists $parent->{$key}
86 5 14 if $key_i == $#keys
89 0 8 if not defined $blessed and $reftype ne 'ARRAY'
90 1 7 unless exists $parent->[$key]
91 2 5 if $key_i == $#keys
94 0 3 if length $reftype and not defined $blessed
95 1 2 unless my $sub = $parent->can($key)
96 1 1 if $key_i == $#keys
105 0 15 unless @_
106 0 15 unless @_ > 1
110 1 14 unless @keys
114 5 21 defined $blessed ? :
115 14 12 length $reftype ? :
116 12 0 unless length $type or defined $$parent_ref
119 7 19 if (ref $key eq 'HASH')
120 1 6 if (exists $key->{'key'}) { }
4 2 elsif (exists $key->{'index'}) { }
1 1 elsif (exists $key->{'method'}) { }
1 0 elsif (exists $key->{'lvalue'}) { }
132 13 13 if ($type eq 'hash') { }
6 7 elsif ($type eq 'array') { }
7 0 elsif ($type eq 'method') { }
133 7 6 if (defined $$parent_ref) { }
134 0 7 if not defined $blessed and $reftype ne 'HASH'
138 6 7 if $key_i == $#keys
141 2 4 if (defined $$parent_ref) { }
142 0 2 if not defined $blessed and $reftype ne 'ARRAY'
146 3 3 if $key_i == $#keys
149 2 5 unless defined $$parent_ref
150 0 5 if not defined $blessed and length $reftype
151 5 0 length $reftype ? :
152 0 5 unless my $sub = $$parent_ref->can($key)
153 3 2 if ($key_i == $#keys)
154 0 3 $lvalue ? :