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 137 ref $_[0] eq 'HASH' ? :
165 135 2 unless $self->{'checks'}
174 0 137 ref $_[0] eq 'HASH' ? :
175 135 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 ? :
283 3 148 ref $_[0] eq 'HASH' ? :
294 1 0 ref $_[0] eq 'HASH' ? :
303 1 4 unless $pattern
319 9 33 if ($state eq 'character_class') { }
13 20 elsif ($state eq 'count') { }
320 3 6 if ($c eq ']') { }
331 6 7 if ($c eq '}') { }
332 0 6 if $count < 1
334 0 14 unless $csets->[-1]
344 3 17 if ($c eq '[') { }
6 11 elsif ($c eq '{') { }
369 1 176 if $filter
372 1 176 unless ref $input eq 'HASH'
376 159 17 unless (ref $rule eq 'Validator::Custom::Rule')
377 1 158 unless ref $rule eq 'ARRAY'
401 1 174 if @$shared_rule
404 17 158 if (ref $rule eq 'Validator::Custom::Rule') { }
414 0 173 if ($rule_obj->{'version'} and $rule_obj->{'version'} == 1)
433 2 405 unless ref $cinfos eq 'ARRAY'
438 49 356 if (ref $key eq 'HASH') { }
0 356 elsif (defined $r->{'name'}) { }
450 49 356 if (ref $key eq 'ARRAY') { }
2 354 elsif (ref $key eq 'Regexp') { }
454 4 1 if $k =~ /$key/
460 1 404 if (exists $opts->{'optional'})
461 1 0 if ($opts->{'optional'})
468 0 25 unless $VALID_OPTIONS{$oname}
472 8 397 if (exists $opts->{'default'})
478 4 401 if exists $opts->{'copy'}
481 5 400 exists $opts->{'require'} ? :
485 16 535 unless (exists $input->{$key})
486 10 6 if ($require and not exists $r->{'default'})
488 9 1 unless $found_missing_params->{$key}
494 15 390 if ($found_missing_param)
497 1 1 ref $r->{'default'} eq 'CODE' ? :
2 13 if exists $r->{'default'} and $copy
498 6 9 if $r->{'default'} or not $require
502 3 396 if $valid_keys->{$result_key}
507 50 346 @$keys > 1 ? :
522 21 406 if ($cinfo->{'each'}) { }
525 4 17 unless ref $value eq 'ARRAY'
547 18 25 if (ref $cresult eq 'ARRAY') { }
4 21 elsif (ref $cresult eq 'HASH') { }
553 1 3 unless $is_valid
554 2 2 if exists $cresult->{'output'}
558 30 13 if $is_valid
562 7 30 unless $is_valid
581 95 312 if (ref $cresult eq 'ARRAY') { }
2 310 elsif (ref $cresult eq 'HASH') { }
584 56 39 if $is_valid
588 1 1 unless $is_valid
589 1 1 if exists $cresult->{'output'} and $is_valid
593 205 202 if $is_valid
598 197 219 unless ($is_valid)
599 6 191 if (exists $r->{'default'}) { }
604 1 4 ref $r->{'default'} eq 'CODE' ? :
5 1 if exists $r->{'default'} and $copy
609 147 44 unless defined $message
615 186 5 unless exists $result->{'_error_infos'}{$result_key}
618 5 186 unless ($error_stock)
624 0 8 if ref $key eq 'HASH'
625 3 5 if $key_next eq $result_key
627 3 2 unless $found
635 186 2 if $copy