Condition Coverage

blib/lib/Validation/Class/Prototype.pm
Criterion Covered Total %
condition 70 154 45.4


and 3 conditions

line !l l&&!r l&&r condition
156 0 0 159 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 1002 0 $field->can('mixin') and $field->{'mixin'}
941 0 1002 0 $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 1 $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 37 0 10 $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 11 110 ref $rp_attr and $rp_attr->isa($map)
0 0 11 ref $rp_attr and $rp_attr->isa($lst)
1884 5870 0 0 $name eq 'proto' || $name eq 'prototype' and $self->package->can($name)
1982 9523 12 4 @_ == 1 and not ref $_[0]
1984 9523 1 11 @_ == 1 and isa_mapping($_[0])
1985 9523 11 1 @_ == 1 and isa_hashref($_[0])
2136 78 20 308 @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 16 0 $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 5870 $name eq 'proto' || $name eq 'prototype'
1923 0 0 0 $value ||= $field->{'default'}