Branch Coverage

blib/lib/Text/Balanced/Marpa.pm
Criterion Covered Total %
branch 73 114 64.0


line true false branch
259 0 16 if ($escape_char eq q['])
289 48 632 if $line =~ /event\s+=>\s+(\w+)/
333 0 87 if defined $opts{'options'}
334 86 1 if defined $opts{'text'}
335 0 87 if defined $opts{'pos'}
336 0 87 if defined $opts{'length'}
364 84 0 if (defined(my $value = $self->_process)) { }
371 0 0 if $self->options & 1
378 0 3 if $self->options & 1
415 0 87 if ($self->options & 4)
448 0 1289 if $event_name eq q['exhausted]
454 0 1289 unless defined $pos
456 0 1289 if $self->options & 4
458 215 1074 if ($event_name ne 'text')
465 105 1184 if ($event_name eq 'close_delim') { }
110 1074 elsif ($event_name eq 'open_delim') { }
1074 0 elsif ($event_name eq 'text') { }
478 1 104 if ($$matching_delimiter{$tos->{'lexeme'}} ne $lexeme)
487 1 0 if $self->options & 8
493 0 0 if $self->options & 2
506 11 99 if ($$delimiter_frequency{$matching_delimiter->{$lexeme}} > 1)
515 2 9 if $self->options & 16
521 0 9 if $self->options & 2
547 0 84 if ($self->recce->exhausted) { }
0 84 elsif (my $status = $self->recce->ambiguous) { }
554 0 0 if ($self->options & 64) { }
564 0 0 if $self->options & 2
570 0 0 if $#$terminals < 0
576 0 0 if ($self->options & 32) { }
0 0 elsif ($self->options & 2) { }
616 226 73 if CORE::length $text
635 0 1289 if ($event_name eq q['exhausted])
646 0 1289 if $self->options & 4
654 0 1306 unless (do { $self->known_events }->{$_})
667 17 1272 if ($event_count > 1)
672 17 0 if ($lexeme =~ /["']/ and join(', ', @event_name) eq 'close_delim, open_delim') { }
678 3 14 if ($delimiter_frequency->{$lexeme} % 2 == 0) { }
682 0 3 if $self->options & 4
688 0 14 if $self->options & 4
719 0 16 if ($#$open < 0 or $#$close < 0)
731 0 16 if ($#$open != $#$close)
754 0 37 if ($open->[$i] =~ /\\/ or $close->[$i] =~ /\\/)
766 0 37 if (CORE::length $open->[$i] > 1 and $open->[$i] =~ /'/ or CORE::length $close->[$i] > 1 and $close->[$i] =~ /'/)
778 37 0 unless $seen{'open'}{$open->[$i]}
779 35 2 unless $seen{'close'}{$close->[$i]}
790 21 16 if (CORE::length $open->[$i] == 1) { }
792 3 18 $open->[$i] eq '[' ? :
801 25 12 if (CORE::length $close->[$i] == 1) { }
803 3 22 $close->[$i] eq ']' ? :
812 37 0 if $seen{'open'}{$open->[$i]} <= 1
813 35 2 if $seen{'close'}{$close->[$i]} <= 1
815 4 33 if $prefix =~ /[\[\]]/
816 26 11 unless $prefix{$prefix}
820 26 11 if $prefix{$prefix} == 1
822 3 34 if $prefix =~ /[\[\]]/
823 21 16 unless $prefix{$prefix}
827 21 16 if $prefix{$prefix} == 1