Branch Coverage

blib/lib/Decl/Node.pm
Criterion Covered Total %
branch 198 330 60.0


line true false branch
26 1 27 if ($$this[1]{$key})
27 27 0 if defined $$this[2]
38 4 41 if ($$this[1]{$key})
39 41 0 if defined $$this[2]
116 36 152 unless defined $r
176 1 1200 unless defined $body
177 10 1191 if (ref $body eq 'ARRAY') { }
189 1 1200 unless defined $line
195 934 267 unless defined $$self{'line'}
216 2955 41 $_[1] ? :
220 102 23721 if $$self{'tag'} eq $_
227 0 0 $_[0]{'body'} ? :
0 0 defined $_[0]{'body'} ? :
230 0 30648 defined $_[1] ? :
30648 203 if ref $_
249 23725 6900 defined $flavor ? :
0 30625 if ($$n{'group'}) { }
6985 23640 elsif (defined $flavor ? $n->is($flavor) : 1) { }
255 176 2643 @return ? :
8004 2819 wantarray ? :
271 0 23 defined $flavor ? :
0 23 if ($$n{'group'} and not $n->flag(':')) { }
23 0 elsif (defined $flavor ? $n->is($flavor) : 1 and not $n->flag(':')) { }
277 0 0 @return ? :
8 0 wantarray ? :
291 0 646 defined $parent && $parent != $self->root ? :
300 221 2 unless $_[0]{'parameters'}{$_[1]} or $_[2]
301 0 0 unless $_[0]{'options'}{$_[1]} or $_[2]
339 2 1 if ($self->parameter($p)) { }
1 0 elsif (my $pnode = $self->find($p)) { }
373 5 2 if $self->parameter($top)
375 10 5 if ($_ =~ m[^${top}[.\-/]])
397 0 0 if $self->parameter($k)
407 0 0 if $self->option($k)
441 9 749 if (ref $string) { }
443 0 9 if (ref $string ne 'ARRAY') { }
449 8 1 unless ref $$string[0]
453 10 0 ref $addition ? :
468 3 746 if ($string =~ /^\s*(?:([^\w\s]+)(\s*).*\n)(?:\s*\1\2?.*\n)+$/) { }
473 746 3 unless $leader
474 719 30 unless $white
476 5 744 if $leader or $white
481 6 752 if ($after)
486 6 44 if (refaddr_or_undef($e) eq refaddr_or_undef($after)) { }
493 6 38 if grep {refaddr_or_undef($_) eq refaddr_or_undef($e);} @added
497 6 0 if $found_after
501 927 0 if $_->can('build')
504 749 1 @added ? :
7 750 wantarray ? :
536 0 0 unless ref $_
537 0 0 if $_ == $old
586 0 984 if $$self{'replaced'}
588 975 9 if ($$self{'state'} ne 'built')
589 4 971 if ($self->root->{'macro_definitions'}{$self->tag})
602 975 0 unless $$self{'force_text'}
604 970 4 unless $$self{'force_text'}
625 0 975 if ($self->tag =~ /^!/) { }
629 10 965 if (ref $self->body eq 'ARRAY') { }
638 44 921 if $self->body and not $$self{'bracket'}
639 24 941 if @results
650 55 0 if $_->can('build')
678 25 46 unless ref $path
679 37 34 if @$path == 0
683 34 35 if $_->match($first)
690 2 6 unless ref $path
691 2 6 if @$path == 0
695 6 6 if $_->matchbyname($first)
708 6178 40 unless ref $pathelement
710 11 29 if $self->tag eq $tag and $self->name eq $name
716 12 0 unless ref $pathelement
718 0 0 if $self->name eq $name and $self->label eq $label
731 291 6137 unless ref $path
732 0 6428 if @$path == 0
736 12 6137 if ($_->match($first))
738 12 0 if $possible
741 16 6121 if $child
756 2 0 if $_->tag eq $path
772 0 0 if ($type =~ /:$/)
778 0 0 if ($_->is($type) or $_->name eq $type)
779 0 0 if not $flag or $_->flag($flag)
805 4 37 if ($self->parmlist)
806 0 12 $self->parameter($_) =~ / |"/ ? :
4 12 $self->parameter($_) eq 'yes' ? :
817 4 37 if ($self->optionlist)
818 0 0 $self->option($_) =~ / |"/ ? :
8 0 $self->option($_) eq 'yes' ? :
829 19 22 if $self->label ne ''
830 0 41 if $self->parser
831 3 38 if $self->code
832 4 37 if $self->bracket
833 0 41 if $self->comment
846 0 41 unless defined $prefix
847 0 41 unless defined $macro_ok
849 7 34 if ($self->body) { }
853 4 3 if $self->bracket
856 0 29 if (not ref $_) { }
3 26 elsif ($$_{'macroresult'} and not $macro_ok) { }
908 0 0 if $p eq '/'
924 0 14 unless defined $self
925 0 14 unless $$self{'callable'}
926 6 8 if $$self{'owncode'} and $$self{'sub'}
932 12 11 unless $$_{'callable'}
933 1 10 if $$_{'callable'} eq 'sub'
934 4 6 if $$_{'event'}
935 0 6 if ($$_{'callable'} eq '?') { }
937 0 0 if $_->flag('!') and not defined $master_iffy
943 0 8 if defined $master_iffy
944 0 8 if defined $last_iffy
976 0 18 unless defined $self
977 0 18 unless $self->code or $self->nodes or $self->body
978 1 17 if ($self->code or $self->bracket) { }
3 14 elsif ($self->nodes) { }
981 0 1 if ($self->code) { }
990 1 0 if (ref $result) { }
1031 3 0 unless $linebreak
1039 3 10 unless defined $line
1078 0 57 if $ACCEPT_EVENTS
1079 57 0 if $_[0]->parent
1101 0 0 unless $$self{'errors'}
1115 0 4 unless defined $data
1116 0 0 if $_->name eq $data
1117 0 0 if $_->is($data)
1118 4 0 if $self->parent
1135 0 0 unless $self->parent
1137 0 0 if $_ == $self
1138 0 0 if !defined($tag) || $_->is($tag) and !defined($name) || $_->name eq $name
1154 0 0 if $$_{'is_reference'} or $_->flag('?')
1155 0 0 if !defined($tag) || $_->is($tag) and !defined($name) || $_->name eq $name
1169 32 0 unless $$self{'is_reference'} or $self->flag('?')
1170 0 0 if defined $self->name
1190 0 0 if defined $$self{'user'}{$var}
1191 0 0 if defined $$self{'parameters'}{$var}
1192 0 0 if defined $default
1198 0 0 if ($self->get($x) ne '' or $self->get($y) ne '')
1234 0 74 if exists $$self{'h'}{$value}
1236 43 31 if ref $v eq 'CODE'
1238 27 47 if defined $_[3]
1247 4 91 if exists $$self{'h'}{$value}
1249 74 17 if exists $$self{'v'}{$value}
1253 0 17 if $$self{'instantiates'}
1256 0 17 if (exists $$target{'h'}{$value})
1261 0 17 if (exists $$target{'v'}{$value})
1268 0 4 if ($child->is($value) or $child->name eq $value)
1269 0 0 if ($child->label)
1274 0 0 if ($child->describe_content)
1283 13 4 unless ($target->event_context == $target)
1286 0 13 if (exists $$cx{'h'}{$value})
1294 12 1 if (defined $context_value)
1303 1 4 if $self->parent
1319 0 29 if $value =~ /^\*/
1321 28 1 if defined $var
1341 0 52 if ($value =~ /^\*/)
1343 0 0 if $value =~ /^\*/
1344 0 0 if $value eq 'name'
1345 0 0 if $value eq 'label'
1346 0 0 if $value eq 'content'
1351 2 50 unless defined $var
1375 0 0 if ($pieces[0] =~ /^!/) { }
1412 20 20 $self->parent ? :
1414 78 2 unless $_->tag eq 'sub'
1430 0 0 if $$self{'instantiates'}
1432 0 0 if $_->is('sub|filter') and $_->name eq $filter
1434 0 0 if $self->parent
1445 0 0 unless (defined $filter)
1449 0 0 if (ref $filter eq 'CODE')