Branch Coverage

lib/Acme/Sub/Parms.pm
Criterion Covered Total %
branch 73 96 76.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 28 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 24 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)
263 432 4 if ($status = filter_read() > 0)
272 36 396 if ($bind_block) { }
278 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*#.*)$/) { }
281 0 4 defined $block_trailing_comment ? :
285 2 2 if ($normalize) { }
292 4 0 unless ($simple_bind)
299 4 28 if (not defined $spec or $spec eq '')
318 4 28 if not defined $spec or $spec eq ''
324 28 0 if (defined $variable_name) { }
334 4 0 if (0 < @var_declarations)
336 0 4 if ($simple_bind and not $normalize and $no_validation and 0 == $side_effects and 0 == @hard_var_declarations) { }
345 2 2 unless ($no_validation)
357 4 0 if ($additional_lines > 0) { }
366 28 0 defined $trailing_comment ? :
371 0 28 unless ($bind_var =~ /^my \$\S+$/)
374 26 2 if ($bind_field =~ /^(\S+)\s*\[(.*)\]$/) { }
2 0 elsif ($bind_field =~ /^\w+$/) { }
377 18 8 unless ($no_validation and not $bind_field =~ /[\s\[,](default|callback)\s*=\s*/)
382 0 2 unless ($no_validation)
397 4 0 defined $trailing_comment ? :
409 4 392 if (/^\s*BindParms\s+:\s+\((\s*#.*$|\s*$)/)
415 0 4 defined $block_head_comment ? :
449 110 326 if ($dump_to_stdout)