Branch Coverage

blib/lib/Parse/Path/Role/Path.pm
Criterion Covered Total %
branch 73 124 58.8


line true false branch
33 2 0 $swap ? :
49 7 7 $swap ? :
58 14 0 if (&blessed($thing) and $thing->does('Parse::Path::Role::Path'))
59 0 14 if $swap
64 0 45 $$stepA{'type'} eq 'ARRAY' && $$stepB{'type'} eq 'ARRAY' ? :
69 6 39 if $cmp
77 0 0 $swap ? :
171 80 1 unless ($self->_has_path)
175 24 30 if $self->auto_cleanup and @$path_array
198 0 84 if ($pos =~ /^(\d+)$/u) { }
84 0 elsif ($pos =~ /^X([+\-]\d+)$/u) { }
210 0 0 $self->step_count ? :
223 0 0 if $self->auto_cleanup and @$step_hashs
231 0 2 if $self->auto_cleanup and @$step_hashs
239 0 0 defined $length ? :
243 0 0 if $self->auto_cleanup and defined $length and @$step_hashs
244 0 0 wantarray ? :
261 0 1 @_ ? :
304 13 60 if ($full_pos =~ /^(\d+)$/u) { }
60 0 elsif ($full_pos =~ /^X([+\-]\d+)$/u) { }
316 24 49 unless (defined $old_pos)
326 49 0 if ($type eq 'R') { }
0 0 elsif ($type eq 'A') { }
328 24 25 $old_type eq 'A' ? :
335 4 45 if ($array_index < 0) { }
8 37 elsif ($pos <= 0) { }
336 2 2 if ($old_type eq 'A')
346 0 8 if (@$new_path < abs $pos)
352 4 4 unless $pos
358 2 2 if (&any(sub { $$_{'pos'} =~ /^X-/u; } , @back_path))
369 0 0 if ($old_type eq 'R')
390 83 3 if (not ref $thing) { }
0 3 elsif (&blessed($thing) and $thing->does('Parse::Path::Role::Path')) { }
0 3 elsif (&blessed($thing)) { }
0 3 elsif (ref $thing eq 'HASH') { }
3 0 elsif (ref $thing eq 'ARRAY') { }
392 28 29 unless $self->auto_normalize
401 0 0 if $thing->isa($self) and $thing->auto_normalize || !$self->auto_normalize
417 0 0 if grep {ref $_;} values %$thing
419 0 0 if (&all(sub { exists $$thing{$_}; } , 'key', 'type', 'step', 'pos'))
432 0 0 if (exists $$thing{'key'} and exists $$thing{'type'})
437 0 0 if exists $$thing{'step'}
447 4 0 ref $step_hash eq 'ARRAY' ? :
463 0 90 unless $type =~ /^HASH$|^ARRAY$/u
473 87 3 if ($type eq 'HASH') { }
475 0 87 unless $tuple
477 7 80 if $$tuple[2]
485 0 87 if ($type eq 'HASH' and !($step =~ /^$hash_re$/u) || $type eq 'ARRAY' and not $step =~ /^$array_re$/u)
509 0 209 if @$path_array > 255
523 0 217 unless $tuple
540 24 211 if ($$pathref =~ s/^(?<step>$array_re)//u) { }
193 18 elsif ($$pathref =~ s/^(?<step>$hash_re)//u) { }
557 11 182 if defined $tuple
569 8 209 if (length $$pathref == length $orig_path)
584 57 143 $i == $self->step_count - 1 ? :
589 0 200 if (exists $$dlp{$d . 'L'}) { }
0 343 elsif (not $next_step and exists $$dlp{'-1L'}) { }
597 13 187 if (exists $$dlp{$d . 'R'}) { }
133 54 elsif ($next_step) { }
602 113 20 if exists $$dlp{$L . $R}
605 0 54 if (exists $$dlp{'-1R'}) { }
0 54 elsif (exists $$dlp{$L}) { }