Branch Coverage

blib/lib/Validator/Custom.pm
Criterion Covered Total %
branch 170 182 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 ? :
280 6 159 ref $_[0] eq 'HASH' ? :
291 1 0 ref $_[0] eq 'HASH' ? :
300 1 4 unless $pattern
316 9 33 if ($state eq 'character_class') { }
13 20 elsif ($state eq 'count') { }
317 3 6 if ($c eq ']') { }
328 6 7 if ($c eq '}') { }
329 0 6 if $count < 1
331 0 14 unless $csets->[-1]
341 3 17 if ($c eq '[') { }
6 11 elsif ($c eq '{') { }
366 1 176 if $filter
369 1 176 unless ref $input eq 'HASH'
373 159 17 unless (ref $rule eq 'Validator::Custom::Rule')
374 1 158 unless ref $rule eq 'ARRAY'
399 17 158 if (ref $rule eq 'Validator::Custom::Rule') { }
409 0 173 if ($rule_obj->{'version'} and $rule_obj->{'version'} == 1)
428 2 405 unless ref $cinfos eq 'ARRAY'
433 49 356 if (ref $key eq 'HASH') { }
0 356 elsif (defined $r->{'name'}) { }
445 49 356 if (ref $key eq 'ARRAY') { }
2 354 elsif (ref $key eq 'Regexp') { }
449 4 1 if $k =~ /$key/
455 1 404 if (exists $opts->{'optional'})
456 1 0 if ($opts->{'optional'})
463 0 25 unless $VALID_OPTIONS{$oname}
467 8 397 if (exists $opts->{'default'})
473 4 401 if exists $opts->{'copy'}
476 5 400 exists $opts->{'require'} ? :
480 16 535 unless (exists $input->{$key})
481 10 6 if ($require and not exists $r->{'default'})
483 9 1 unless $found_missing_params->{$key}
489 15 390 if ($found_missing_param)
492 1 1 ref $r->{'default'} eq 'CODE' ? :
2 13 if exists $r->{'default'} and $copy
493 6 9 if $r->{'default'} or not $require
497 3 396 if $valid_keys->{$result_key}
502 50 346 @$keys > 1 ? :
517 21 406 if ($cinfo->{'each'}) { }
520 4 17 unless ref $value eq 'ARRAY'
542 18 25 if (ref $cresult eq 'ARRAY') { }
4 21 elsif (ref $cresult eq 'HASH') { }
548 1 3 unless $is_valid
549 2 2 if exists $cresult->{'output'}
553 30 13 if $is_valid
557 7 30 unless $is_valid
576 95 312 if (ref $cresult eq 'ARRAY') { }
2 310 elsif (ref $cresult eq 'HASH') { }
579 56 39 if $is_valid
583 1 1 unless $is_valid
584 1 1 if exists $cresult->{'output'} and $is_valid
588 205 202 if $is_valid
593 197 219 unless ($is_valid)
594 6 191 if (exists $r->{'default'}) { }
599 1 4 ref $r->{'default'} eq 'CODE' ? :
5 1 if exists $r->{'default'} and $copy
604 147 44 unless defined $message
610 186 5 unless exists $result->{'_error_infos'}{$result_key}
613 5 186 unless ($error_stock)
619 0 8 if ref $key eq 'HASH'
620 3 5 if $key_next eq $result_key
622 3 2 unless $found
630 186 2 if $copy