Branch Coverage

blib/lib/Parse/EBNF/Rule.pm
Criterion Covered Total %
branch 47 60 78.3


line true false branch
10 1 1 if defined $rule
23 2 20 unless ($rule =~ /^\s*\[(\d+)\]\s*([A-Z][a-zA-Z]*)\s*\:\:=/)
49 3 29 if ($rule =~ /^'([^']+)'/) { }
1 28 elsif ($rule =~ /^"([^"]+)"/) { }
2 26 elsif ($rule =~ /^\|/) { }
12 14 elsif ($rule =~ /^([A-Z][a-zA-Z]*)/) { }
8 6 elsif ($rule =~ /^\[(\^?)(([^\]]|\\\])+)\]/) { }
0 6 elsif ($rule =~ /^\[(([^\]]|\\\])+)\]/) { }
1 5 elsif ($rule =~ /^\*/) { }
1 4 elsif ($rule =~ /^\+/) { }
1 3 elsif ($rule =~ /^\?/) { }
1 2 elsif ($rule =~ /^\(/) { }
1 1 elsif ($rule =~ /^\)/) { }
0 1 elsif ($rule =~ /^\-/) { }
1 0 elsif ($rule =~ /^#x([0-9a-f]+)/i) { }
88 2 16 if ($inner =~ /^#x([0-9a-f]+)-#x([0-9a-f]+)/i) { }
6 10 elsif ($inner =~ /^#x([0-9a-f]+)/i) { }
4 6 elsif ($inner =~ /^([^-])-([^-])/i) { }
6 0 elsif ($inner =~ /^([^-])/i) { }
198 0 20 unless $self->produce_groups($base)
205 0 20 unless ($base->reduce_alternations)
210 0 20 unless ($base->reduce_repetition)
217 0 20 unless ($base->reduce_empty)
222 0 20 unless ($base->reduce_rx)
233 0 11 if (hex $char > 255) { }
251 1 31 if ($$token{'type'} eq 'group start') { }
1 30 elsif ($$token{'type'} eq 'group end') { }
266 0 1 unless (defined $current)
282 1 20 $$self{'error'} ? :
287 0 0 $$self{'error'} ? :