Branch Coverage

blib/lib/Parse/Eyapp/Node.pm
Criterion Covered Total %
branch 83 190 43.6


line true false branch
39 0 1933 unless UNIVERSAL::can($self, 'children')
40 0 1933 if @_
55 0 128 unless UNIVERSAL::can($self, 'children')
57 0 128 if @_
68 0 1 unless UNIVERSAL::can($self, 'children') and @{$$self{'children'};}
77 0 0 unless UNIVERSAL::can($self, 'children') and @{$$self{'children'};}
96 0 1291 unless UNIVERSAL::can($self, 'child')
97 0 1291 unless defined $index
98 0 1291 if defined $value
110 0 0 unless /\d+/ and $_ < $t->children
154 2 39 ref $_ eq 'CODE' ? :
195 0 0 ref $_ eq 'CODE' ? :
212 0 0 unless (ref $node and UNIVERSAL::can($node, 'children'))
214 0 0 if $p->pattern->($_[0], $_[1], $index, $p)
233 0 0 if $p->pattern->($_[0], $_[1], $index, $p)
262 0 0 if exists $cache{$key}
281 0 0 if ref $_[-1] eq 'CODE'
287 0 0 unless $newnodeclass->isa('Parse::Eyapp::Node')
289 0 0 if (defined $handler and UNIVERSAL::isa($handler, 'CODE'))
307 10 51 if ref $_[0] eq 'CODE'
321 51 500 if (s/\A([A-Za-z_][A-Za-z0-9_:]*)\s*([),])/$1()$2/)
328 0 500 if (s/\A([A-Za-z_][A-Za-z0-9_:]*)\s+([A-Za-z_])/$1()$2/)
335 18 482 if (s/\A([A-Za-z_][A-Za-z0-9_:]*)\s*$/$1()/)
342 152 330 if (s/\A([A-Za-z_][A-Za-z0-9_:]*)//)
350 152 178 if (s/\A[(]//)
360 15 163 if s/\A,//
363 152 11 if (s/\A[)]//)
364 0 152 unless @index
368 0 152 unless defined $class and $class =~ /^[a-zA-Z_][\w:]*$/
379 0 11 unless $_
382 0 11 unless s/\A\s+//
384 0 61 if @index
388 16 128 unless $_->isa('Parse::Eyapp::Node')
391 10 51 if (defined $handler and UNIVERSAL::isa($handler, 'CODE'))
394 2 59 wantarray ? :
428 0 3 unless my(@patterns) = @_
430 0 3 unless $a = first(sub { not UNIVERSAL::isa($_, 'Parse::Eyapp:YATW'); } , @_)
450 16 65 if $$pattern{'PATTERN'}($n{'node'})
453 7 20 if (@{$$mn{'patterns'};})
460 4 3 if defined $f
478 3 0 wantarray ? :
554 0 3 unless UNIVERSAL::can($self, 'children') and $self->children > 0
557 3 0 if (ref $child)
560 3 3 if $_ == $child
563 0 3 if ($i == $self->children)
574 0 0 unless $child =~ /\d+/ and $child < $numchildren
591 0 0 unless UNIVERSAL::can($self, 'children')
618 0 2 unless UNIVERSAL::can($self, 'children') and $self->children > 0
622 2 0 if (ref $child)
625 2 4 if $_ == $child
628 0 2 if ($i == $self->children)
639 0 0 unless $child =~ /\d+/ and $child < $numchildren
650 0 0 unless UNIVERSAL::can($self, 'children') and $self->children > 0
654 0 0 if (ref $child)
657 0 0 if $_ == $child
660 0 0 if ($i == $self->children)
671 0 0 unless $child =~ /\d+/ and $child < $numchildren
683 0 1 unless ref $match eq 'CODE' and @_ > 0
691 11 5 if not defined $_ or &$match($_)
731 0 9 unless ref $_[0]
737 9 0 if (defined $DELIMITER and exists $match_del{$DELIMITER}) { }
745 0 9 wantarray ? :
757 0 98 if ($INDENT >= 0 and UNIVERSAL::can($self, 'footnote'))
759 0 0 if $res
764 89 0 if defined $_
770 53 45 if $INDENT >= 0 and UNIVERSAL::can($self, 'info')
771 53 45 if defined $information
772 0 98 if ($INDENT >= 0 and $res)
776 0 98 if ($INDENT > 0) { }
779 0 0 if @children
780 0 0 if $INDENT > 1 and $class =~ tr/\n// > $LINESEP
783 65 33 if @children
794 0 0 if $INDENT >= 0 and $root->can('info')
796 0 0 if defined $information
824 0 0 if ($file) { }
825 0 0 unless $file =~ /\.dot$/
844 0 0 unless defined $file
861 126 245 if (ref $_ eq 'CODE') { }
245 0 elsif (defined $_) { }
873 219 0 if ($type)
874 88 131 if (defined $_[1])
900 0 2 unless @_ > 1
904 0 2 if defined($key = firstval(sub { not UNIVERSAL::isa($handler{$_}, 'CODE'); } , keys %handler))
915 0 4 unless ref $tree1 eq ref $tree2
920 1 0 if exists $$tree1{$_} and not exists $$tree2{$_}
921 0 0 if exists $$tree2{$_} and not exists $$tree1{$_}
924 0 0 if defined $$tree1{$_} and not defined $$tree2{$_}
925 0 0 if defined $$tree2{$_} and not defined $$tree1{$_}
928 0 0 unless $handler{$_}($$tree1{$_}, $$tree2{$_})
934 0 3 unless @children1 == @children2
939 0 2 unless _equal($_, $ch2)
999 0 0 if @_
1007 0 0 if @_
1018 0 0 unless $$_{'NAME'}
1027 0 0 if (UNIVERSAL::can($node, 'info')) { }