Branch Coverage

blib/lib/Chess/PGN/Parse.pm
Criterion Covered Total %
branch 53 226 23.4


line true false branch
222 2 0 if (defined $filename) { }
277 0 0 unless $item =~ /\$?(\d+)/x
278 0 0 if $1 > 139 or $1 < 0
279 0 0 unless (scalar keys %numeric_annotation_glyph)
284 0 0 if ($1 > 0 and $1 <= 6)
287 0 0 if ($item =~ /^\$/x) { }
483 0 0 if @_
489 0 0 if @_
495 0 0 if @_
501 0 0 if @_
507 0 0 if @_
513 0 0 if @_
519 0 0 if @_
525 0 0 if @_
531 0 0 if @_
537 0 0 if @_
543 0 0 if @_
549 0 0 if @_ and ref $_[0] eq 'ARRAY'
573 0 23 if exists $$self{'gamedescr'}{'FirstMove'}
716 0 21 unless $memory{'game'}
717 0 21 unless $memory{'tag_printed'}
727 0 232 if ($memory{'game'})
730 0 232 if $memory{'utag'}
731 0 232 if ($memory{'tag'} =~ tr/]// > 1)
748 0 23 if $memory{'tag'}
749 0 23 if $memory{'game'}
752 0 416 if (/^;/)
753 0 0 if ($memory{'game_printed'} or not $memory{'game'}) { }
0 0 elsif ($memory{'game'}) { }
764 41 375 if (/^\s*$/)
765 20 21 if ($memory{'game'})
767 0 20 if ($memory{'game'} =~ tr/{// < $memory{'game'} =~ tr/}//)
775 0 375 if ($memory{'utag'}) { }
232 143 elsif (/^\[/ and not $memory{'game'}) { }
780 0 0 if ($left_brackets == $right_brackets)
789 232 0 if ($left_brackets == $right_brackets) { }
0 0 elsif ($right_brackets > $left_brackets) { }
806 232 143 if ($memory{'tag'})
807 0 232 if $memory{'game'}
811 0 3 if ($memory{'tag'})
814 1 2 if ($memory{'game'})
845 0 0 unless defined $_
847 0 0 if /^\s*$/
848 0 0 unless $block
849 0 0 unless /\[(\w+)/
851 0 0 unless /\"(.*)\"/
857 0 0 unless defined $_
859 0 0 unless defined $_
860 0 0 if /^\s*$/
861 0 0 unless $block
883 0 0 if (exists $$params{'all_tags'} and $$params{'all_tags'} =~ /^(?:[Yy][Ee][Ss]|1)$/) { }
0 0 elsif (exists $$params{'tags'}) { }
891 0 0 unless $seen{$_}
911 0 0 if (defined $pattern)
912 0 0 if (length $pattern == 1) { }
0 0 elsif (length $pattern == 2) { }
0 0 elsif ($pattern =~ /^(.*)\|(.*)$/) { }
1003 0 0 if exists $$params{'game'} and lc $$params{'game'} ne 'yes'
1008 0 0 if $out_game and (exists $$params{'comments'} and lc $$params{'comments'} eq 'yes')
1012 0 0 if exists $$params{'nl'}
1015 0 0 unless exists $$self{'gamedescr'}{$_}
1020 0 0 if (@tags)
1023 0 0 unless $out_game
1024 0 0 if (defined $$self{'GameMoves'}) { }
1027 0 0 if (defined $$self{'gamedescr'}{'FirstMove'} and $$self{'gamedescr'}{'FirstMove'} =~ /(\d+)([bw])/)
1032 0 0 if $color eq 'b'
1036 0 0 if ($color eq 'w') { }
1038 0 0 if $len and $count > 1
1048 0 0 if ($out_comments and exists $self->comments->{$count - 1 . "$color"})
1055 0 0 if ($len >= 75)
1061 0 0 if $delta < 0
1069 0 0 if $needs_nl
1073 0 0 if ($len >= 75)
1096 0 0 if ($$self{'gamedescr'}{'Game'} =~ /\(/) { }
1171 0 20 if $$self{'gamedescr'}{'Game'} =~ /\(/
1174 0 20 if $$self{'gamedescr'}{'Game'} =~ /\{/
1185 0 20 if (exists $$params{'check_moves'} and $$params{'check_moves'} =~ /^(?:yes|1)$/)
1190 0 20 unless $$self{'gamedescr'}{'Game'}
1257 1 0 if my $log_errors = exists $$params{'log_errors'}
1259 0 1 unless $$self{'gamedescr'}{'Game'}
1267 0 1 if $save_comments and exists $$params{'comments_struct'}
1270 1 0 unless $comments_struct =~ /^(?:array|hol)$/
1276 0 1 unless ($$self{'gamedescr'}{'Game'} =~ /\d\./)
1285 22 70 if (/\G($re_number)\s*/cgm) { }
37 33 elsif (/\G($re_any_move)\s*/cgm) { }
9 24 elsif (/\G($re_comment |$re_eol_comment |$re_rav |$re_nag|$re_escape)\s*/cgmx) { }
24 0 elsif (/\G(\S+\s*)/cgm) { }
1287 3 19 if ($num =~ tr/.//d > 1)
1290 1 21 if ($movecount == 0) { }
18 3 elsif ($movecount == $num - 1) { }
0 3 elsif ($movecount != $num) { }
1292 0 1 unless $num . $switchcolor{$color} eq '1w'
1308 0 37 if ($countless)
1310 0 0 if ($plycount == 2)
1323 9 0 if ($save_comments)
1329 9 0 if ($comments_struct eq 'string') { }
0 0 elsif ($comments_struct eq 'array') { }
1340 0 0 if $1 and exists $comment_types{$1}
1348 24 0 if ($log_errors)
1378 0 0 unless $comment_struct and $comment_struct =~ /^hol|array$/
1380 0 0 if ($self->moves and $comments and ref $comments eq 'HASH')
1382 0 0 unless /^\d+(?:w|b)$/
1383 0 0 if ($comment_struct eq 'string') { }
0 0 elsif ($comment_struct eq 'array') { }
1394 0 0 if $1 and exists $comment_types{$1}
1500 0 0 if $1 eq '/'
1502 0 0 if ($piece < 15) { }
1531 0 0 if ($piece == 15)
1536 0 0 if ($piece =~ /[1-8]/) { }
1542 0 0 if ($rowsum == 8)
1545 0 0 if $overall_sum >= 64
1553 0 0 if ($ep ne '-')
1554 0 0 $color eq 'w' ? :