Branch Coverage

blib/lib/Tree/Simple.pm
Criterion Covered Total %
branch 125 138 90.5


line true false branch
18 12 0 unless @_
19 0 0 if (lc $_[0] eq 'use_weak_refs')
56 9 127 if (defined $parent) { }
57 3 6 if (&blessed($parent) and $parent->isa('Tree::Simple')) { }
3 3 elsif ($parent eq $self->ROOT) { }
75 4 116 unless defined $parent and $parent eq $self->ROOT || &blessed($parent) && $parent->isa('Tree::Simple')
79 143 116 if ($parent eq $self->ROOT) { }
83 0 116 if $USE_WEAK_REFS
89 0 18 if $USE_WEAK_REFS
97 76 66 if $self->{'_height'} >= $child_height + 1
101 26 40 unless $self->isRoot
108 44 63 unless $self->isRoot
116 1 22 unless defined $node_value
122 1 1 unless $uid
147 2 79 unless defined $index
153 2 77 unless $index <= $max
157 3 74 unless @trees
163 11 116 unless &blessed($tree) and $tree->isa('Tree::Simple')
170 13 103 unless $tree->isLeaf
173 42 21 $self->isLeaf ? :
176 44 19 if ($index == 0) { }
11 8 elsif ($index == $max) { }
200 1 15 unless defined $index
202 1 14 unless $self->getChildCount != 0
206 1 13 unless $index < $self->getChildCount
211 8 5 if ($index == 0) { }
2 3 elsif ($index == $#{$$self{'_children'};}) { }
233 6 7 unless $removed_child->isLeaf
244 1 12 unless defined $child_to_remove
249 1 11 unless ref $child_to_remove
252 2 9 unless &blessed($child_to_remove) and $child_to_remove->isa('Tree::Simple')
256 8 3 if "$child" eq "$child_to_remove"
264 1 13 if $self->{'_parent'} eq $self->ROOT
267 13 14 if "$sibling" eq "$self"
283 1 1 if $self->isRoot
290 1 1 if $self->isRoot
297 2 2 if $self->isRoot
327 1 107 unless defined $index
337 371 10 wantarray ? :
342 1 10 if $self->isRoot
349 1 32 if $self->isRoot
358 0 5 $self->isRoot ? :
385 0 4 $self->isRoot ? :
393 0 4 $self->isRoot ? :
425 0 41 if $tree->isRoot
440 17 4 unless ($self->isLeaf)
443 20 42 if $max_height < $child_height
449 8 13 if $self->{'_height'} == $max_height + 1
454 8 5 unless $self->isRoot
462 15 14 unless $self->isRoot
467 1 224 unless defined $func
468 2 222 unless ref $func eq 'CODE'
469 32 190 if defined $post
475 1 190 if 'ABORT' eq $ret
478 1 189 if 'ABORT' eq $ret
480 27 162 if defined $post
490 4 7 unless &blessed($visitor) and $visitor->isa('Tree::Simple::Visitor') || $visitor->can('visit')
522 7 26 unless $self->isLeaf
546 35 9 unless defined $seen
550 34 10 unless ref $node
552 0 10 if exists do { $seen }->{$node}
554 4 6 if (&blessed($node)) { }
556 2 2 if ($node->can('clone')) { }
568 3 3 if (ref $node eq 'SCALAR' or ref $node eq 'REF') { }
1 2 elsif (ref $node eq 'ARRAY') { }
1 1 elsif (ref $node eq 'HASH') { }
605 0 25 if $USE_WEAK_REFS
611 25 0 if ($self->{'_children'})
613 18 0 if defined $child