Branch Coverage

blib/lib/Gedcom.pm
Criterion Covered Total %
branch 73 112 65.1


line true false branch
175 1419 0 if ($name)
193 0 10 unless $func =~ /^(add|get)_(.*)$/ and $tag = $Gedcom::Funcs{lc $2} and exists $Top_tag_order{$tag}
195 6 4 if ($1 eq 'add') { }
200 1 11 if (ref $arg) { }
206 2 10 if (defined $val and $tag eq 'NOTE')
209 1 10 $tag eq 'SUBM' ? :
11 1 unless defined $xref
211 10 2 unless ($tag =~ /^(HEAD|TRLR)$/)
212 0 10 unless $xref =~ /^[^\W\d_]+(\d*)$/
214 9 1 unless length $1
225 4 580 if $_->{'tag'} eq $tag
227 0 4 wantarray ? :
241 0 8 if @_ == 1
265 1 7 if (defined $self->{'grammar_file'}) { }
267 0 1 if (defined $self->{'grammar_version'}) { }
272 0 1 unless $version
278 0 1 unless $grammar = 'Gedcom::Grammar'->new('file', $self->{'grammar_file'}, 'version', $version, 'callback', $self->{'callback'})
280 6 1 unless defined $self->{'grammar_version'}
284 0 7 if $@
286 0 7 unless $grammar = ${$g . '::grammar';}
302 7 1 defined $self->{'gedcom_file'} ? :
0 8 unless my $r = $self->{'record'} = 'Gedcom::Record'->new(defined $self->{'gedcom_file'} ? ('file', $self->{'gedcom_file'}) : (), 'line', 0, 'tag', 'GEDCOM', 'grammar', $grammar->structure('GEDCOM'), 'gedcom', $self, 'callback', $self->{'callback'})
304 1 7 unless (defined $self->{'gedcom_file'})
308 1 0 unless ($r->get_record('head'))
311 1 0 if ($login = getlogin || (getpwuid $<)[0] || $ENV{'USER'} || $ENV{'LOGIN'})
351 1 0 unless ($s)
358 1 0 unless $r->get_record('trlr')
373 0 7 unless my $file = shift()
375 0 7 unless $self->{'fh'} = 'FileHandle'->new($file, 'w')
377 0 7 if $self->{'encoding'} eq 'utf-8' and $] >= 5.8
379 0 7 unless $self->{'fh'}->close
384 0 0 unless my $file = shift()
385 0 0 unless $self->{'fh'} = 'FileHandle'->new($file, 'w')
387 0 0 if $self->{'encoding'} eq 'utf-8' and $] >= 5.8
405 0 0 unless $self->{'fh'}->close
424 0 28876 $x =~ /^\@(.+)\@$/ ? :
28876 755 if defined $x
446 0 8770 unless $item->validate_semantics
464 6 0 if exists $self->{'xrefs'}{$xref}
487 0 6840 unless defined $r->{'tag'}
488 6840 0 exists $Top_tag_order{$r->{'tag'}} ? :
493 0 6206 unless defined $r->{'xref'}
495 6206 0 defined $1 ? :
499 3103 317 unless &$t($a) <=> &$t($b)
532 30 56 if ($i)
533 30 0 unless $all
540 37611 0 if $_
552 18192 666 unless $r = $i =~ s/$n->[$t]//
565 5208 0 defined $n ? :
571 2 325 if not $all and @i
580 6 192 if not $all and @i
584 3600 864 $s ? :
589 0 96 if not $all and @i
592 0 48 unless $all
597 114 246 unless (exists $s{$_->{'xref'}})
612 1274 3946 if defined $c->{'xref'} and $c->{'xref'} =~ /$re/ and $1 > $last