Branch Coverage

lib/Web/DataService/Ruleset.pm
Criterion Covered Total %
branch 23 146 15.7


line true false branch
43 0 1 unless $ruleset_name =~ qr/ ^ [\w.:][\w.:-]* $ /sx
64 0 4 unless defined $arg
70 2 0 unless (ref $arg or $arg =~ qr/^>>/s)
80 1 1 if ($pending_rule) { }
0 1 elsif (@pending_doc) { }
82 1 0 if ($ds->check_rule($pending_rule, \@pending_doc))
104 0 2 if (not ref $arg) { }
0 2 elsif (ref $arg ne 'HASH') { }
122 0 2 if ($arg->{'substitute'})
125 0 0 unless ref $arg->{'substitute'} eq 'HASH'
127 0 0 if keys %$arg > 1
144 0 0 $arg->{'mandatory'} ? :
1 0 $arg->{'param'} ? :
1 1 $arg->{'optional'} ? :
147 0 2 unless $ruletype
157 0 2 defined $arg->{'valid'} ? :
0 2 ref $arg->{'valid'} eq 'ARRAY' ? :
164 0 0 if ref $v eq 'CODE'
165 0 0 if $v eq 'FLAG_VALUE' or $v eq 'ANY_VALUE'
169 0 0 if (ref $v) { }
0 0 elsif ($ds->set_defined($v)) { }
184 0 0 if $diag_mode
187 0 0 unless ($arg->{'no_set_doc'})
206 0 2 if ($arg->{$ruletype} =~ qr/ ^ \s* SPECIAL \( ( \s* \w+ \s* ) \) \s* $ /sx) { }
0 2 elsif ($arg->{$ruletype} =~ qr/ SPECIAL | [()] /sx) { }
214 0 0 if ($special_arg eq 'all' or $special_arg eq 'single') { }
0 0 elsif ($special_arg eq 'show') { }
224 0 0 unless (@{$ds->{'vocab_list'};} > 1)
234 0 0 if $ds->{'format'}{$f}{'uses_header'}
239 0 0 if $ds->{'special'}{$_}
0 0 $special_arg eq 'all' ? :
258 0 0 if ($ds->{'special'}{'show'}) { }
279 0 0 unless defined $Web::DataService::SPECIAL_PARAM{$special_arg}
283 0 0 unless ($ds->{'special'}{$special_arg})
295 0 0 if defined $arg->{'errmsg'}
296 0 0 if defined $arg->{'warn'}
297 0 0 if defined $arg->{'clean'}
299 0 0 if defined $arg->{'alias'} and $arg->{'alias'} ne $pending_rule->{'optional'}
322 1 0 if ($pending_rule)
324 1 0 if ($ds->check_rule($pending_rule, \@pending_doc))
333 0 1 if ($diag_mode)
348 0 0 if (ref $r eq 'HASH') { }
351 0 0 if $copy->{'valid_save'}
383 0 1 if $error_msg
396 2 0 unless $rr->{'special'}
397 0 0 if $rr->{'special'} eq 'IGNORE'
400 0 0 unless @$doc_ref
418 0 0 unless $ds->{'special'}{$param}
428 0 0 if ref $ds->{'special_alias'}{$param} eq 'ARRAY'
432 0 0 if ($param eq 'limit') { }
0 0 elsif ($param eq 'offset') { }
0 0 elsif ($param eq 'count' or $param eq 'datainfo' or $param eq 'header') { }
0 0 elsif ($param eq 'linebreak') { }
0 0 elsif ($param eq 'vocab') { }
463 0 0 if ($param eq 'selector') { }
0 0 elsif ($param eq 'format') { }
0 0 elsif ($param eq 'path') { }
0 0 elsif ($param eq 'document') { }
0 0 elsif ($param eq 'show') { }
0 0 elsif ($param eq 'limit') { }
0 0 elsif ($param eq 'offset') { }
0 0 elsif ($param eq 'count') { }
0 0 elsif ($param eq 'datainfo') { }
0 0 elsif ($param eq 'vocab') { }
0 0 elsif ($param eq 'header') { }
0 0 elsif ($param eq 'linebreak') { }
0 0 elsif ($param eq 'save') { }
505 0 0 if (defined $default and $default > 0)
540 0 0 if $info->{'data_provider'}
542 0 0 if $info->{'data_source'}
544 0 0 if $info->{'data_license'}
599 0 0 if $ds->node_attr('/', 'default_save_filename')
631 0 0 if (ref $ds->{'RS_SUBST'}{$rs_name} eq 'HASH')