Branch Coverage

lib/Acme/Sub/Parms.pm
Criterion Covered Total %
branch 72 96 75.0


line true false branch
37 0 5 unless (_legal_option($item))
62 8 48 if ($spec =~ s/^required(\s*,\s*|$)//) { }
16 32 elsif ($spec =~ s/^optional(\s*,\s*|$)//) { }
8 24 elsif ($spec =~ s/^is_defined(\s*,\s*|$)//) { }
24 0 elsif ($spec =~ s/^(can|isa|type|callback|default)\s*=\s*//) { }
77 20 4 if ($spec =~ s/^([^\s"',]+)(\s*,\s*|$)//) { }
0 4 elsif ($spec =~ s[^'([^'/]+)'\s*,\s*][]) { }
0 4 elsif ($spec =~ s[^"([^"/]+)"\s*,\s*][]) { }
4 0 elsif ($spec =~ s/^(['"])//) { }
97 0 32 if ($escape_next) { }
0 32 elsif ($ch eq '\\' and not $escape_next) { }
4 28 elsif ($ch eq $quote) { }
112 0 4 if ($escape_next)
157 0 0 if (0 == @spec_tokens_list or 1 == @spec_tokens_list and $spec_tokens->{'optional'})
163 4 24 if (defined $spec_tokens->{'default'})
164 4 0 if ($spec_tokens->{'optional'}) { }
174 8 20 if ($spec_tokens->{'callback'})
184 4 8 if (not $no_validation and $spec_tokens->{'required'})
190 8 20 if ($spec_tokens->{'is_defined'})
198 8 16 if (defined $type_requirements or defined $isa_requirements or defined $can_requirements)
203 4 8 if (defined $type_requirements)
217 4 8 if (defined $isa_requirements)
231 4 8 if (defined $can_requirements)
262 432 4 if ($status = &filter_read() > 0)
271 36 396 if ($bind_block) { }
277 4 32 if (/^\s*\)(\s*$|\s*#.*$)/) { }
28 4 elsif (my($bind_var, $bind_field, $trailing_comment) = /^\s*(\S.*?)\s+:\s+([^'"\s\[]+.*?)\s*(;\s*|;\s*#.*)$/) { }
4 0 elsif (/^(\s*|\s*#.*)$/) { }
280 0 4 defined $block_trailing_comment ? :
284 2 2 if ($normalize) { }
291 4 0 unless ($simple_bind)
298 4 28 if (not defined $spec or $spec eq '')
317 4 28 if not defined $spec or $spec eq ''
323 28 0 if (defined $variable_name) { }
333 4 0 if (0 < @var_declarations)
335 0 4 if ($simple_bind and not $normalize and $no_validation and 0 == $side_effects and 0 == @hard_var_declarations) { }
344 2 2 unless ($no_validation)
356 4 0 if ($additional_lines > 0) { }
365 28 0 defined $trailing_comment ? :
370 0 28 unless ($bind_var =~ /^my \$\S+$/)
373 26 2 if ($bind_field =~ /^(\S+)\s*\[(.*)\]$/) { }
2 0 elsif ($bind_field =~ /^\w+$/) { }
376 18 8 unless ($no_validation and not $bind_field =~ /[\s\[,](default|callback)\s*=\s*/)
381 0 2 unless ($no_validation)
396 4 0 defined $trailing_comment ? :
408 4 392 if (/^\s*BindParms\s+:\s+\((\s*#.*$|\s*$)/)
414 0 4 defined $block_head_comment ? :
448 110 326 if ($dump_to_stdout)