Branch Coverage

blib/lib/Validator/Declarative.pm
Criterion Covered Total %
branch 58 64 90.6


line true false branch
28 1 120 if ref $params ne 'ARRAY'
31 1 119 if ref $definitions ne 'ARRAY'
34 1 118 if scalar(@$params) * 2 != scalar @$definitions
37 1 117 if @_
54 143279 36 if defined $value and not $is_optional
60 3 3180 unless defined $stringified_value
61 32 3151 if $stringified_value eq ''
68 42 75 if @errors
91 143282 42 if ref $rules ne 'ARRAY'
105 1 143359 if (ref $rule eq 'ARRAY') { }
213 143146 elsif (ref $rule eq 'HASH') { }
1 143145 elsif (ref $rule) { }
109 1 212 if keys %$rule > 1
124 1 143357 unless exists $$registered_name_to_kind{$name}
127 1 143356 if @$result > 2
132 143267 89 if ($rule_kind eq $RULE_TYPE) { }
50 39 elsif ($rule_kind eq $RULE_CONVERTER) { }
39 0 elsif ($rule_kind eq $RULE_CONSTRAINT) { }
161 1 143319 if $is_required and $is_optional
164 36 143283 if ($is_optional) { }
171 3 143280 unless defined $value
190 1 143315 if $has_default and not $is_optional
193 2 143313 if ($has_default)
194 1 1 unless defined $value
198 0 143315 if keys %$converters > 1
202 46 143269 if (%$converters)
215 2 143231 if not %$types or exists $$types{'any'} or exists $$types{'string'}
227 140057 3174 unless $last_error
230 3174 0 if (scalar keys %$types == 1) { }
242 0 39 if $kind ne $RULE_TYPE and $kind ne $RULE_CONVERTER and $kind ne $RULE_CONSTRAINT
251 0 1230 unless defined $name and length $name
254 0 1230 if exists $$registered_name_to_kind{$name}