Branch Coverage

blib/lib/Data/Reach.pm
Criterion Covered Total %
branch 87 102 85.2


line true false branch
23 8 405 unless defined $root
24 153 252 unless @path
26 1 251 unless defined $path0
29 52 199 &blessed($root) ? :
40 127 79 if ($reftype eq 'HASH') { }
72 7 elsif ($reftype eq 'ARRAY') { }
44 71 1 if ($key =~ /^-?\d+$/u) { }
52 3 0 defined ref $data ? :
4 3 $reftype ? :
55 0 7 $kind =~ /^[aeiou]/iu ? :
72 9 43 if $obj->can($meth_name)
75 41 2 if ($use_overloads)
78 32 9 if overload::Method($obj, "\@{}") and $key =~ /^-?\d+$/u
80 2 7 if overload::Method($obj, "%{}")
84 7 2 if ($peek_blessed) { }
107 124 0 if ($max_depth)
108 9 115 if ($recurse eq 'ARRAY' and @$tree || $ignore_empty_subtrees) { }
19 96 elsif ($recurse eq 'HASH' and (my(@k) = sort(keys %$tree)) || $ignore_empty_subtrees) { }
4 92 elsif (&blessed($tree)) { }
116 1 3 if (my $meth_name = $hint_hash->{'Data::Reach/paths_method'})
117 1 0 if ($tree->can($meth_name))
126 0 1 $peek_blessed ? :
0 1 $use_overloads && overload::Method($tree, '%{}') ? :
2 1 $use_overloads && overload::Method($tree, '@{}') ? :
132 2 1 if $recurse
160 93 93 $is_consumed++ ? :
163 0 1 $peek_blessed ? :
0 1 $use_overloads && overload::Method($tree, '%{}') ? :
2 1 $use_overloads && overload::Method($tree, '@{}') ? :
1 3 $paths_method && $tree->can($paths_method) ? :
118 4 !&blessed($tree) ? :
171 91 31 if (not $recurse && $recurse =~ /^(OBJECT|HASH|ARRAY)$/u && $max_depth) { }
175 10 0 $recurse eq 'ARRAY' ? :
20 10 $recurse eq 'HASH' ? :
1 30 $recurse eq 'OBJECT' ? :
179 2 29 if (not @paths and $keep_empty_subtrees) { }
187 145 231 unless ($next_subpath)
188 116 29 if (not $is_consumed and @paths) { }
197 231 116 if (my($subpath, $subval) = &$next_subpath()) { }
230 3 12 unless @_
235 3 11 if ($option =~ /$exported_functions/u) { }
3 8 elsif ($option eq 'as') { }
5 3 elsif ($option =~ /^(reach|call)_method$/u) { }
1 2 elsif ($option eq 'paths_method') { }
2 0 elsif ($option =~ /$hint_options/u) { }
240 1 2 unless my $alias = shift()
245 0 5 if $1 eq "call"
246 0 5 unless my $method = shift()
251 0 1 unless my $method = shift()
266 17 0 if $alias
274 7 0 if $option =~ /$hint_options/u