Condition Coverage

lib/Mojolicious/Plugin/Vparam.pm
Criterion Covered Total %
condition 106 145 73.1


and 3 conditions

line !l l&&!r l&&r condition
129 0 0 3 defined $conf->{'class'} and length $conf->{'class'}
345 514 9 14 @input > 1 and not $attr{'hash'}
367 523 4 10 $attr{'hash'} and $attr{'hash'} eq '1'
410 6 4 9 defined $in and $in =~ /^\s*$/
426 13 503 64 $type and not defined $in
459 0 1 0 defined $in and $in =~ /^\s*$/
476 542 0 30 $attr{'hash'} and defined $key
482 495 10 32 $attr{'array'} and not $attr{'optional'}
505 28 4 $attr{'array'} and not $attr{'optional'} and not @input
485 523 1 13 $attr{'hash'} and not $attr{'optional'}
524 12 1 $attr{'hash'} and not $attr{'optional'} and not @input
503 475 0 6 $attr{'skipundef'} and not defined $output[0]

or 2 conditions

line l !l condition
26 75 0 $conf ||= {}
28 0 75 $conf->{'class'} ||= 'field-with-error'
29 0 75 $conf->{'types'} ||= {}
30 0 75 $conf->{'filters'} ||= {}
32 0 75 $conf->{'vsort_page'} ||= 'page'
33 0 75 $conf->{'vsort_rws'} ||= 'rws'
34 0 75 $conf->{'rows'} ||= 25
35 0 75 $conf->{'vsort_oby'} ||= 'oby'
36 0 75 $conf->{'vsort_ods'} ||= 'ods'
37 0 75 $conf->{'ods'} ||= 'ASC'
39 1 74 $conf->{'phone_country'} //= ''
40 1 74 $conf->{'phone_region'} //= ''
41 1 74 $conf->{'phone_fix'} //= ''
47 0 75 $conf->{'blessed'} //= 1
48 0 75 $conf->{'optional'} //= 0
49 0 75 $conf->{'skipundef'} //= 0
50 0 75 $conf->{'multiline'} //= 0
52 3 72 $conf->{'address_secret'} //= ''
54 0 75 $conf->{'password_min'} //= 8
56 0 75 $conf->{'hash_delimiter'} //= '=>'
87 477 99 $self->stash->{'vparam-verrors'} //= {}
94 137 0 $errors->{$name}{'message'} // 0
103 3 2 $error->{'message'} // 0
155 15 5 $self->stash->{'vparam-verrors'} //= {}
185 351 124 $self->stash->{'vparam-vars'} //= {}
277 8 0 $self->req->body // ''
296 9 0 $self->req->body // ''
312 4 0 $self->req->body // ''
322 5 0 $self->req->body // ''

or 3 conditions

line l !l&&r !l&&!r condition
60 0 75 0 $conf->{'mojo_validator'} //= 'version'->new($Mojolicious::VERSION) < 'version'->new(4.42) ? 0 : 1
217 17 4 522 $attr{'optional'} //= $optional
218 6 0 537 $attr{'skipundef'} //= $skipundef
219 9 0 534 $attr{'multiline'} //= $multiline
220 4 539 0 $attr{'blessed'} //= $blessed
223 529 1 13 $attr{'type'} // $attr{'isa'}
230 15 2 33 $mod eq '?' or $mod =~ /^optional\[/i
3 3 27 $mod eq '!' or $mod =~ /^required?\[/i
20 2 5 $mod eq '@' or $mod =~ /^array\[/i
237 0 2 0 $attr{'hash'} //= $conf->{'hash_delimiter'}
283 2 4 0 $vars->{'pointer'} //= 'Mojo::JSON::Pointer'->new($vars->{'json'})
302 11 7 0 $vars->{'pointer'} //= 'Mojo::JSON::Pointer'->new($vars->{'json'})
342 466 6 65 @input or $attr{'array'}
6 1 64 @input or $attr{'array'} or $attr{'hash'}
474 398 174 8 defined $out or not $attr{'skipundef'}
488 5 532 0 $attr{'as'} // $name
537 0 439 0 $attr{'as'} // $name