Branch Coverage

blib/lib/Data/DeepAccess.pm
Criterion Covered Total %
branch 107 140 76.4


line true false branch
15 0 19 unless @_
17 1 18 unless @keys
19 2 36 unless defined $parent
22 3 33 defined $blessed ? :
23 34 2 length $reftype ? :
26 0 36 if (ref $key eq 'HASH')
27 0 0 if (exists $key->{'key'}) { }
0 0 elsif (exists $key->{'index'}) { }
0 0 elsif (exists $key->{'method'}) { }
0 0 elsif (exists $key->{'lvalue'}) { }
39 22 14 if ($type eq 'hash') { }
8 6 elsif ($type eq 'array') { }
3 3 elsif ($type eq 'method') { }
40 0 22 if not defined $blessed and $reftype ne 'HASH'
41 3 19 unless exists $parent->{$key}
42 5 14 if $key_i == $#keys
45 0 8 if not defined $blessed and $reftype ne 'ARRAY'
46 1 7 unless exists $parent->[$key]
47 2 5 if $key_i == $#keys
50 0 3 if length $reftype and not defined $blessed
51 1 2 unless my $sub = $parent->can($key)
52 1 1 if $key_i == $#keys
62 3 45 unless @keys
64 4 90 unless defined $parent
67 8 82 defined $blessed ? :
68 86 4 length $reftype ? :
71 4 86 if (ref $key eq 'HASH')
72 1 3 if (exists $key->{'key'}) { }
3 0 elsif (exists $key->{'index'}) { }
0 0 elsif (exists $key->{'method'}) { }
0 0 elsif (exists $key->{'lvalue'}) { }
84 55 35 if ($type eq 'hash') { }
21 14 elsif ($type eq 'array') { }
8 6 elsif ($type eq 'method') { }
85 0 55 if not defined $blessed and $reftype ne 'HASH'
86 6 49 unless exists $parent->{$key}
87 16 33 if $key_i == $#keys
90 0 21 if not defined $blessed and $reftype ne 'ARRAY'
91 2 19 unless exists $parent->[$key]
92 6 13 if $key_i == $#keys
95 0 8 if length $reftype and not defined $blessed
96 2 6 unless my $sub = $parent->can($key)
97 3 3 if $key_i == $#keys
106 0 27 unless @_
107 0 27 unless @_ > 1
111 2 25 unless @keys
115 7 39 defined $blessed ? :
116 27 19 length $reftype ? :
117 19 0 unless length $type or defined $$parent_ref
120 13 33 if (ref $key eq 'HASH')
121 2 11 if (exists $key->{'key'}) { }
7 4 elsif (exists $key->{'index'}) { }
2 2 elsif (exists $key->{'method'}) { }
2 0 elsif (exists $key->{'lvalue'}) { }
133 24 22 if ($type eq 'hash') { }
11 11 elsif ($type eq 'array') { }
11 0 elsif ($type eq 'method') { }
134 14 10 if (defined $$parent_ref) { }
135 0 14 if not defined $blessed and $reftype ne 'HASH'
139 12 12 if $key_i == $#keys
142 6 5 if (defined $$parent_ref) { }
143 0 6 if not defined $blessed and $reftype ne 'ARRAY'
147 5 6 if $key_i == $#keys
150 4 7 unless defined $$parent_ref
151 0 7 if not defined $blessed and length $reftype
152 7 0 length $reftype ? :
153 0 7 unless my $sub = $$parent_ref->can($key)
154 4 3 if ($key_i == $#keys)
155 0 4 $lvalue ? :
166 0 31 unless @_