Branch Coverage

blib/lib/Data/Validate/WithYAML.pm
Criterion Covered Total %
branch 104 104 100.0


line true false branch
27 6 22 unless $self->_yaml_config($filename)
44 28 22 if @_ == 2
53 1 2 if ($value)
63 1 1 if ($value)
74 3 32 if (@_ and @_ % 2 == 0) { }
90 36 75 if exists $optional->{$name}
91 75 36 if exists $required->{$name}
93 5 106 if $fields{$name}{'no_validate'}
98 26 80 if ($depends_on)
99 3 23 if (not exists $hash{$depends_on} || $fields{$name}{'depends_lax'}) { }
22 1 elsif (defined $hash{$depends_on}) { }
108 10 12 if $cases->{$depends_on_value}
114 25 78 unless ($success)
128 1 40 if (@_ and @_ % 2 == 0) { }
137 38 3 if (defined $step) { }
138 3 35 unless $self->{'fieldnames'}{$step}
146 2 39 if ($options{'exclude'})
171 24 6 if ($subhash->{'message'})
182 1 5 unless $values
183 1 4 if ref $values ne 'ARRAY'
187 1 1 $self->check($field, $value) ? :
209 194 40 if ($definition and $definition->{'type'} eq 'required' or not $definition and exists $self->_required->{$field}) { }
18 23 elsif ($definition && $definition->{'type'} eq 'optional' || !$definition && exists $self->_optional->{$field} and not defined $value && length $value) { }
213 15 179 unless defined $value and length $value
225 273 205 if (exists $dispatch{$key}) { }
4 201 elsif ($key eq 'plugin') { }
226 72 198 unless ($dispatch{$key}->($value, $subhash->{$key}, $self))
236 1 3 if (not $@ and $module->can('check')) { }
253 1 2 unless $info
262 2 26 if (ref $file and 'SCALAR' eq ref $file) { }
22 4 elsif (defined $file and -e $file) { }
3 1 elsif (defined $file) { }
266 1 1 unless (eval { do { $self->{'config'} = 'YAML::Tiny'->read_string(${$file;}); 1 } })
275 1 21 unless (eval { do { $self->{'config'} = 'YAML::Tiny'->read($file); 1 } })
289 2 20 if ($self->_no_steps) { }
306 47 65 if (exists $data->{$field}{'type'} and $data->{$field}{'type'} eq 'required') { }
62 3 elsif (not exists $self->_required->{$field}) { }
310 5 42 if (exists $self->_optional->{$field})
324 2 81 unless &looks_like_number($value)
330 2 119 unless &looks_like_number($value)
343 20 1 if ($check =~ /,/) { }
346 6 14 if (defined $min and length $value < $min)
349 1 19 if (defined $max and length $value > $max)
368 2 2 unless $self->_allow_subs
376 28 4 if @_ == 2
385 17 19 if ($type eq 'int') { }
6 13 elsif ($type eq 'num') { }
12 1 elsif ($type eq 'positive_int') { }
386 2 15 unless &looks_like_number($value)
387 2 13 unless $value =~ /\A [+-]? \d+ (?:[eE]\d+)? \z/msx
391 2 4 unless &looks_like_number($value)
395 3 9 unless &looks_like_number($value)