Branch Coverage

blib/lib/Parse/RandGen/Production.pm
Criterion Covered Total %
branch 24 122 19.6


line true false branch
46 0 11 if ($numArgs == 1) { }
1 10 elsif ($numArgs) { }
49 0 1 if $numArgs % 2
54 0 10 unless not defined $$self{'_rule'} or UNIVERSAL::isa($rule, 'Parse::RandGen::Rule')
64 0 1 unless my $self = shift()
68 0 1 unless $numArgs
69 0 1 if $numArgs % 2
72 1 0 if ($arg eq 'cond') { }
0 0 elsif ($arg eq 'action') { }
0 0 elsif ($arg eq 'rule') { }
77 0 0 unless UNIVERSAL::isa($val, 'Parse::RandGen::Rule')
87 0 11 unless my $self = shift()
92 0 11 unless defined $val
96 11 0 if ($valRef) { }
0 0 elsif ($val =~ /^\s* (\w+) (?: \( (.*?) \) )? \s*$/x) { }
0 0 elsif ($element =~ /$Parse::RandGen::Literal::ValidLiteralRE/) { }
97 1 10 if ($valRef eq 'Regexp') { }
101 0 10 unless UNIVERSAL::isa($val, 'Parse::RandGen::Condition')
109 0 0 if (defined $subargs and $subargs)
110 0 0 if ($subargs eq '?') { }
0 0 elsif ($subargs =~ /^(s|\+)$/) { }
0 0 elsif ($subargs =~ /^((s\?)|\*)$/) { }
0 0 elsif ($subargs =~ /(\d+)(?:\.\.(\d+))?/) { }
133 0 0 unless my $self = shift()
134 0 0 unless $self->grammar
139 0 0 unless $cond->isSubrule
142 0 0 unless defined $subruleName
144 0 0 if defined $rule and $rule == $subrule
146 0 0 unless defined $subrule
152 0 0 unless my $self = shift()
155 0 0 if $output
163 0 400 unless my $self = shift()
166 0 400 if $output
173 0 805 unless my $self = shift()
181 132 673 unless ($args{'match'})
184 0 233 if $cond->isQuantSupported and $cond->zeroOrMore
200 0 1812 unless my $self = shift()
204 0 2014 if $cond->containsVals(%args)
213 0 0 unless my $self = shift()
218 0 0 unless my $self = shift()
223 0 0 unless my $self = shift()
228 0 0 unless my $self = shift()
233 0 0 unless my $self = shift()
234 0 0 if defined $self->rule
239 0 2617 unless my $self = shift()
247 0 0 unless my $self = shift()
251 0 0 if (defined $$self{'_action'})
261 0 0 $cond->isSubrule ? :
262 0 0 $sName ? :
263 0 0 $sName ? :
264 0 0 if ($cond->once) { }
266 0 0 if ($sName) { }
268 0 0 if ($sKeep eq 'once') { }
0 0 elsif ($sKeep eq 'all') { }
273 0 0 unless ($sParse)
284 0 0 if ($sName) { }
286 0 0 if ($sKeep eq 'once') { }
0 0 elsif ($sKeep eq 'all') { }
291 0 0 unless ($sParse)
305 0 0 unless defined $self->rule and $self->rule->name
308 0 0 unless $self->grammar->rule($ruleName) == $self->rule