Branch Coverage

blib/lib/Validator/Custom.pm
Criterion Covered Total %
branch 172 184 93.4


line true false branch
82 2 6 if (@_ < 3)
89 1 5 unless $checks->{$name}
91 1 4 unless ref $values eq 'ARRAY'
97 2 5 unless ($is_valid)
103 2 2 $is_invalid ? :
109 2 4 if (@_ < 3)
116 1 3 unless $filters->{$name}
118 1 2 unless ref $values eq 'ARRAY'
133 2 42 if (@_ < 3)
140 1 41 unless $checks->{$name}
148 2 8 if (@_ < 3)
155 1 7 unless $filters->{$name}
164 0 138 ref $_[0] eq 'HASH' ? :
165 136 2 unless $self->{'checks'}
174 0 138 ref $_[0] eq 'HASH' ? :
175 136 2 unless $self->{'filters'}
194 19 433 if (ref $constraint eq 'CODE') { }
200 6 427 if (ref $constraint eq 'ARRAY') { }
204 13 414 if ($constraint =~ /\|\|/) { }
217 108 349 if (ref $cname eq 'HASH')
224 18 439 if $cname =~ s/^@//
225 0 457 if index($cname, '@') > -1
234 9 448 $cname =~ s/^!// ? :
235 0 457 if index($cname, '!') > -1
243 1 456 if $cname =~ /\W/
246 1 455 unless ref $cfunc eq 'CODE'
252 2 7 if (ref $ret eq 'ARRAY') { }
257 9 446 $negative ? :
282 6 159 ref $_[0] eq 'HASH' ? :
293 1 0 ref $_[0] eq 'HASH' ? :
302 1 4 unless $pattern
318 9 33 if ($state eq 'character_class') { }
13 20 elsif ($state eq 'count') { }
319 3 6 if ($c eq ']') { }
330 6 7 if ($c eq '}') { }
331 0 6 if $count < 1
333 0 14 unless $csets->[-1]
343 3 17 if ($c eq '[') { }
6 11 elsif ($c eq '{') { }
368 1 176 if $filter
371 1 176 unless ref $input eq 'HASH'
375 159 17 unless (ref $rule eq 'Validator::Custom::Rule')
376 1 158 unless ref $rule eq 'ARRAY'
400 1 174 if @$shared_rule
403 17 158 if (ref $rule eq 'Validator::Custom::Rule') { }
413 0 173 if ($rule_obj->{'version'} and $rule_obj->{'version'} == 1)
432 2 405 unless ref $cinfos eq 'ARRAY'
437 49 356 if (ref $key eq 'HASH') { }
0 356 elsif (defined $r->{'name'}) { }
449 49 356 if (ref $key eq 'ARRAY') { }
2 354 elsif (ref $key eq 'Regexp') { }
453 4 1 if $k =~ /$key/
459 1 404 if (exists $opts->{'optional'})
460 1 0 if ($opts->{'optional'})
467 0 25 unless $VALID_OPTIONS{$oname}
471 8 397 if (exists $opts->{'default'})
477 4 401 if exists $opts->{'copy'}
480 5 400 exists $opts->{'require'} ? :
484 16 535 unless (exists $input->{$key})
485 10 6 if ($require and not exists $r->{'default'})
487 9 1 unless $found_missing_params->{$key}
493 15 390 if ($found_missing_param)
496 1 1 ref $r->{'default'} eq 'CODE' ? :
2 13 if exists $r->{'default'} and $copy
497 6 9 if $r->{'default'} or not $require
501 3 396 if $valid_keys->{$result_key}
506 50 346 @$keys > 1 ? :
521 21 406 if ($cinfo->{'each'}) { }
524 4 17 unless ref $value eq 'ARRAY'
546 18 25 if (ref $cresult eq 'ARRAY') { }
4 21 elsif (ref $cresult eq 'HASH') { }
552 1 3 unless $is_valid
553 2 2 if exists $cresult->{'output'}
557 30 13 if $is_valid
561 7 30 unless $is_valid
580 95 312 if (ref $cresult eq 'ARRAY') { }
2 310 elsif (ref $cresult eq 'HASH') { }
583 56 39 if $is_valid
587 1 1 unless $is_valid
588 1 1 if exists $cresult->{'output'} and $is_valid
592 205 202 if $is_valid
597 197 219 unless ($is_valid)
598 6 191 if (exists $r->{'default'}) { }
603 1 4 ref $r->{'default'} eq 'CODE' ? :
5 1 if exists $r->{'default'} and $copy
608 147 44 unless defined $message
614 186 5 unless exists $result->{'_error_infos'}{$result_key}
617 5 186 unless ($error_stock)
623 0 8 if ref $key eq 'HASH'
624 3 5 if $key_next eq $result_key
626 3 2 unless $found
634 186 2 if $copy