Condition Coverage

blib/lib/Validation/Class/Prototype.pm
Criterion Covered Total %
condition 72 154 46.7


and 3 conditions

line !l l&&!r l&&r condition
156 0 0 161 defined $arguments->{'package'} and $arguments->{'package'} =~ /\w/
176 0 0 31 $field and $filter
243 0 56 470 $field and $mixin
249 0 0 470 $mixin and $field
273 0 0 144 $field_a and $field_b
285 0 0 144 $field_a and $field_b
325 0 0 0 $req and !defined($value) || $value eq ''
739 0 0 144 $field_a and $field_b
746 0 0 144 $field_a and $field_b
816 0 0 454 $field and $mixin
927 0 715 294 $field->can("mixin") and $field->{'mixin'}
941 0 987 22 $field->can("mixin_field") and $field->{'mixin_field'}
1165 12 2 0 ref $default and ref $default ne "CODE"
1176 0 0 0 defined $settings->{'isa'} and $settings->{'isa'} eq "ro"
1285 0 1 2 $self->configuration->fields->has($name) and $merge == 2
1290 0 0 1 $self->configuration->fields->has($name) and $merge == 1
1418 2 4 41 $input and $input_type eq "input"
1446 0 0 4 $type and $type_list
0 0 4 $type and $type_list and $self->proto->$type_list->get($input)
1456 35 0 12 $output and $output_type eq "output"
1484 0 0 0 $type and $type_list
0 0 0 $type and $type_list and $self->proto->$type_list->get($output)
1555 19 0 0 $mixins->has($name) and $merge == 2
1560 19 0 0 $mixins->has($name) and $merge == 1
1602 1 0 3 $alias eq 1 and not ref $alias
1748 0 12 120 ref $rp_attr and $rp_attr->isa($map)
0 0 12 ref $rp_attr and $rp_attr->isa($lst)
1884 5950 0 0 $name eq 'proto' || $name eq 'prototype' and $self->package->can($name)
1982 9604 12 4 @_ == 1 and not ref $_[0]
1984 9604 1 11 @_ == 1 and isa_mapping($_[0])
1985 9604 11 1 @_ == 1 and isa_hashref($_[0])
2136 78 20 313 @fields and $self->params->count
20 0 78 not @fields and $self->params->count
0 0 20 @fields and not $self->params->count
2276 0 0 16 $name and exists $documents->{$name}
2293 0 69 4 $document->{$key} and exists $$documents{$document->{$key}}
69 0 4 $document->{$key} and exists $$documents{$document->{$key}} and not $self->fields->has($document->{$key})
2419 139 6 12 $options->{'prune'} and not $match

or 2 conditions

line l !l condition
210 32 0 $state ||= "pre"
530 120 2 $directives ||= {}
624 0 0 $self->params->flatten->hash || {}
688 11 0 $self->params->hash || {}
717 0 0 $field->default || undef
1616 0 4 $settings->{'relatives'}{$parent} ||= {}
2059 1 0 $self->params->unflatten->hash || {}
2285 2 14 $options ||= {}

or 3 conditions

line l !l&&r !l&&!r condition
247 470 0 0 $mixin ||= $field->mixin
325 0 0 0 !defined($value) || $value eq ''
336 0 0 0 $req or $value
717 0 0 0 $field->value || $param
1387 15 2 1 $data->{'using'} ||= $package->can("_$name")
1388 17 1 0 $data->{'using'} ||= $package->can("_process_$name")
1884 0 0 5950 $name eq 'proto' || $name eq 'prototype'
1923 0 0 0 $value ||= $field->{'default'}