line |
true |
false |
branch |
730
|
0 |
9 |
unless defined $class |
760
|
14 |
63 |
ref $_[0] eq 'HTTP::Validate' ? : |
771
|
2 |
74 |
unless defined $ruleset_name and not ref $ruleset_name and $ruleset_name ne '' |
833
|
18 |
42 |
ref $_[0] eq 'HTTP::Validate' ? : |
890
|
12 |
3 |
ref $_[0] eq 'HTTP::Validate' ? : |
897
|
5 |
29 |
if ($key eq 'allow_unrecognized') { } |
|
2 |
27 |
elsif ($key eq 'ignore_unrecognized') { } |
|
24 |
3 |
elsif ($ERROR_MSG{$key}) { } |
899
|
5 |
0 |
$value ? : |
904
|
2 |
0 |
$value ? : |
938
|
0 |
2 |
ref $_[0] eq 'HTTP::Validate' ? : |
976
|
0 |
4 |
ref $_[0] eq 'HTTP::Validate' ? : |
982
|
0 |
4 |
unless defined $ruleset_name |
985
|
0 |
4 |
unless $rs |
1011
|
0 |
1 |
ref $_[0] eq 'HTTP::Validate' ? : |
1017
|
0 |
1 |
unless defined $ruleset_name |
1020
|
0 |
1 |
unless $rs |
1043
|
0 |
74 |
if $ruleset_name eq '' |
1045
|
2 |
72 |
if (exists $validator->{'RULESETS'}{$ruleset_name}) |
1123
|
184 |
16 |
ref $rule ? : |
1127
|
5 |
11 |
if ($rule =~ qr/ ^ ([!^?] | >>?) (.*) /sx) { } |
1134
|
1 |
4 |
if ($1 eq '>>') { } |
|
1 |
3 |
elsif ($1 eq '>') { } |
|
1 |
2 |
elsif ($1 eq '!') { } |
|
1 |
1 |
elsif ($1 eq '^') { } |
1136
|
1 |
0 |
if $doc_rule or @doc_lines |
1214
|
2 |
4 |
unless $DIRECTIVE{$key} or $ERROR_MSG{$key} |
1216
|
183 |
139 |
if (defined $DIRECTIVE{$key} and $DIRECTIVE{$key} == 2) |
1218
|
1 |
182 |
if $type |
1232
|
95 |
225 |
if ($key eq 'valid') { } |
|
3 |
222 |
elsif ($key eq 'alias') { } |
|
4 |
218 |
elsif ($key eq 'clean') { } |
|
3 |
215 |
elsif ($key eq 'default') { } |
|
8 |
207 |
elsif ($key eq 'split' or $key eq 'list') { } |
|
7 |
200 |
elsif ($key eq 'error' or $key eq 'errmsg') { } |
|
19 |
181 |
elsif ($key ne $type) { } |
1235
|
0 |
95 |
unless $CATEGORY{$type} eq 'param' or $type eq 'content_type' |
1241
|
0 |
3 |
unless $CATEGORY{$type} eq 'param' |
1243
|
0 |
3 |
if ref $value and ref $value ne 'ARRAY' |
1246
|
1 |
2 |
ref $value ? : |
1252
|
0 |
4 |
unless $CATEGORY{$type} eq 'param' |
1257
|
0 |
4 |
unless ref $rr->{'cleaner'} eq 'CODE' |
1263
|
0 |
3 |
unless $CATEGORY{$type} eq 'param' |
1271
|
0 |
8 |
unless $CATEGORY{$type} eq 'param' |
1273
|
0 |
8 |
if ref $value and ref $value ne 'Regexp' |
1282
|
7 |
1 |
unless (ref $value) |
1288
|
5 |
3 |
if $key eq 'list' |
1298
|
0 |
19 |
if ref $value |
1304
|
0 |
181 |
unless $type |
1311
|
176 |
5 |
if ($CATEGORY{$type} ne 'modifier') |
1335
|
131 |
50 |
if ($CATEGORY{$type} eq 'param') { } |
|
5 |
45 |
elsif ($CATEGORY{$type} eq 'modifier') { } |
|
31 |
14 |
elsif ($CATEGORY{$type} eq 'include') { } |
|
10 |
4 |
elsif ($CATEGORY{$type} eq 'constraint') { } |
|
4 |
0 |
elsif ($type eq 'content_type') { } |
1342
|
1 |
130 |
unless defined $typevalue and not ref $typevalue and $typevalue ne '' |
1347
|
3 |
127 |
ref $rule->{'valid'} eq 'ARRAY' ? : |
1351
|
6 |
126 |
if (defined $v and $VALIDATOR_DEF{$v}) { } |
|
87 |
39 |
elsif (defined $v) { } |
1353
|
2 |
4 |
if $v eq 'FLAG_VALUE' |
1354
|
2 |
4 |
if $v eq 'FLAG_VALUE' |
1359
|
2 |
85 |
unless ref $v and &reftype($v) eq 'CODE' |
1366
|
28 |
100 |
if $type eq 'optional' or $type eq 'mandatory' |
1368
|
104 |
24 |
if ($type ne 'optional') |
1370
|
104 |
0 |
unless $rs->{'params'}{$typevalue} |
1380
|
3 |
125 |
if (defined $rr->{'default'}) |
1382
|
0 |
3 |
if ref $rr->{'default'} |
1385
|
1 |
2 |
unless ref $rr->{'validators'} eq 'ARRAY' and @{$rr->{'validators'};} |
1391
|
0 |
2 |
unless defined $result |
1393
|
1 |
1 |
if (exists $result->{'value'}) |
1396
|
0 |
1 |
if ref $rr->{'default'} |
1410
|
4 |
1 |
ref $typevalue eq 'ARRAY' ? : |
1420
|
0 |
5 |
unless @{$rr->{'param'};} > 0 |
1426
|
6 |
25 |
if $type eq 'require' |
1429
|
1 |
29 |
unless defined $typevalue and not ref $typevalue and $typevalue ne '' |
1432
|
1 |
28 |
unless defined $self->{'RULESETS'}{$typevalue} |
1443
|
0 |
10 |
unless defined $typevalue and ref $typevalue eq 'ARRAY' |
1448
|
0 |
20 |
unless defined $arg and $arg ne '' |
1450
|
0 |
20 |
unless defined $rs->{'includes'}{$arg} |
1455
|
0 |
10 |
unless @{$rr->{'ruleset'};} > 0 |
1465
|
0 |
4 |
if ref $typevalue or not $typevalue =~ /\w/ |
1467
|
4 |
0 |
ref $rule->{'valid'} eq 'ARRAY' ? : |
1471
|
0 |
10 |
if ($t eq '') |
1480
|
1 |
9 |
unless $long |
1483
|
0 |
9 |
if defined $rr->{'type_map'}{$short} |
1489
|
0 |
3 |
unless $rr->{'type_map'} |
1527
|
66 |
172 |
unless defined $rr or @lines |
1533
|
1 |
171 |
if @lines and $lines[0] =~ /^[!]/ |
1538
|
1 |
165 |
if defined $rr and $rr->{'undocumented'} |
1557
|
4 |
11 |
if ($body ne '') |
1559
|
0 |
4 |
if $last_pod or $this_pod |
1571
|
125 |
40 |
do {
$rr->{'type'} eq 'param' if defined $rr
} ? : |
|
165 |
5 |
defined $rr ? : |
1574
|
5 |
0 |
if defined $body |
1579
|
165 |
0 |
if defined $rr |
1583
|
125 |
0 |
if defined $body |
1619
|
0 |
0 |
if ($1 eq '=over') { } |
|
0 |
0 |
elsif ($1 eq '=back') { } |
|
0 |
0 |
elsif ($1 eq '=item') { } |
|
0 |
0 |
elsif ($1 eq '=head') { } |
1627
|
0 |
0 |
if $list_level < 0 |
1632
|
0 |
0 |
if $list_level == 0 |
1637
|
0 |
0 |
if $list_level > 0 or $item_body |
1659
|
0 |
6 |
if $state->{'processed'}{$rs->{'name'}} |
1669
|
0 |
6 |
unless ref $rs and ref $rs->{'doc_items'} eq 'ARRAY' |
1678
|
10 |
28 |
if (ref $item and defined $item->{'param'}) { } |
|
8 |
20 |
elsif ($item =~ qr/ ^ =ORDINARY /x) { } |
|
2 |
18 |
elsif ($item =~ qr/ ^ =INCLUDE \s* (.*) /sx) { } |
1680
|
5 |
5 |
unless ($state->{'in_list'}) |
1682
|
2 |
3 |
if $doc ne '' |
1694
|
3 |
5 |
if ($state->{'in_list'}) |
1696
|
3 |
0 |
if $doc ne '' |
1708
|
2 |
0 |
if (ref $included_rs eq 'HTTP::Validate::Ruleset') |
1712
|
2 |
0 |
if $doc ne '' and $subdoc ne '' |
1713
|
2 |
0 |
if $subdoc ne '' |
1721
|
14 |
4 |
if $doc ne '' and $item ne '' |
1730
|
4 |
2 |
if (--$state->{'level'} == 0) |
1732
|
2 |
2 |
if $state->{'in_list'} |
1752
|
0 |
3 |
if $uniq->{$rs_name} |
1758
|
5 |
2 |
if ($rule->{'type'} eq 'param') { } |
|
2 |
0 |
elsif ($rule->{'type'} eq 'include') { } |
1784
|
0 |
60 |
if defined $context and !ref($context) || &reftype($context) ne 'HASH' |
1787
|
0 |
60 |
unless defined $context |
1789
|
0 |
60 |
unless ref $input_params |
1796
|
29 |
31 |
if (&reftype($input_params) eq 'HASH') { } |
|
31 |
0 |
elsif (&reftype($input_params) eq 'ARRAY') { } |
1824
|
0 |
72 |
if (ref $p) { } |
1867
|
0 |
78 |
if (ref $hash->{$param} and &reftype($hash->{$param}) eq 'ARRAY') { } |
|
3 |
75 |
elsif (defined $hash->{$param} and $hash->{$param} ne '') { } |
1869
|
0 |
0 |
ref $value && &reftype($value) eq 'ARRAY' ? : |
1878
|
0 |
3 |
ref $value && &reftype($value) eq 'ARRAY' ? : |
1900
|
0 |
60 |
unless defined $ruleset_name and $ruleset_name ne '' |
1901
|
0 |
60 |
if ref $ruleset_name or not $ruleset_name =~ /\w/ |
1912
|
1 |
59 |
if ($vr->{'rs'}{$ruleset_name} != 2) |
1915
|
1 |
0 |
@names == 1 ? : |
1939
|
3 |
1 |
if defined $vr->{'content_type'} and $vr->{'content_type'} ne '' and $vr->{'content_type'} ne 'unknown' |
1952
|
8 |
52 |
if $self->{'SETTINGS'}{'ignore_unrecognized'} |
1956
|
105 |
4 |
if exists $vr->{'ps'}{$key} or exists $vr->{'ig'}{$key} |
1958
|
2 |
2 |
if ($self->{'SETTINGS'}{'permissive'}) { } |
1984
|
0 |
82 |
unless defined $ruleset_name |
1990
|
0 |
82 |
unless ref $rs |
1995
|
0 |
82 |
if exists $vr->{'rs'}{$ruleset_name} |
2000
|
35 |
47 |
unless ref $rs->{'fulfill_order'} and @{$rs->{'fulfill_order'};} |
2016
|
170 |
44 |
if ($type eq 'param') { } |
|
0 |
44 |
elsif ($rr->{'type'} eq 'ignore') { } |
|
12 |
32 |
elsif ($rr->{'type'} eq 'together' or $rr->{'type'} eq 'at_most_one') { } |
|
22 |
10 |
elsif ($rr->{'type'} eq 'include') { } |
|
6 |
4 |
elsif ($rr->{'type'} eq 'constraint') { } |
|
4 |
0 |
elsif ($type eq 'content_type') { } |
2022
|
0 |
170 |
if $vr->{'ig'}{$key} |
2029
|
62 |
115 |
unless exists $vr->{'raw'}{$name} |
2032
|
116 |
2 |
if defined $_ |
|
3 |
112 |
ref $v eq 'ARRAY' ? : |
2035
|
115 |
0 |
unless exists $vr->{'ps'}{$name} |
2044
|
1 |
169 |
if (keys %names_found > 1 and not $rr->{'multiple'}) { } |
|
0 |
169 |
elsif (exists $vr->{'clean'}{$key}) { } |
|
1 |
168 |
elsif (not @raw_values and exists $rr->{'default'}) { } |
|
2 |
331 |
elsif (@raw_values > 1 and not $rr->{'multiple'}) { } |
2048
|
1 |
0 |
unless $rr->{'optional'} |
2081
|
2 |
0 |
unless $rr->{'optional'} |
2088
|
20 |
146 |
if ($rr->{'split'}) |
2092
|
22 |
0 |
if defined $_ |
2100
|
2 |
1 |
if ($rr->{'flag'} and keys %names_found and not @raw_values) |
2108
|
67 |
99 |
unless (@raw_values) |
2110
|
2 |
65 |
if ($rr->{'mandatory'}) |
2114
|
2 |
0 |
unless $rr->{'optional'} |
2138
|
40 |
71 |
unless ($rr->{'validators'}) |
2140
|
40 |
0 |
if (defined $raw_val and $raw_val ne '') |
2142
|
4 |
36 |
if ref $rr->{'cleaner'} eq 'CODE' |
2163
|
4 |
67 |
unless ref $result and &reftype($result) eq 'HASH' |
2169
|
42 |
25 |
unless $result->{'error'} |
2175
|
25 |
42 |
if (ref $result and $result->{'error'}) |
2181
|
8 |
17 |
if ($rr->{'warn'}) { } |
2184
|
0 |
8 |
$rr->{'warn'} ne '1' ? : |
2204
|
1 |
41 |
if (ref $result and $result->{'warn'}) |
2213
|
41 |
5 |
ref $result && exists $result->{'value'} ? : |
2218
|
0 |
46 |
if ref $rr->{'cleaner'} eq 'CODE' |
2227
|
78 |
21 |
if (@clean_values) { } |
2231
|
7 |
71 |
if ($rr->{'multiple'}) { } |
2249
|
2 |
19 |
if (defined $rr->{'bad_value'} and $rr->{'bad_value'} eq 'ERROR') { } |
|
1 |
18 |
elsif (defined $rr->{'bad_value'}) { } |
2259
|
1 |
0 |
$rr->{'multiple'} ? : |
2271
|
22 |
77 |
$error_flag ? : |
2278
|
77 |
22 |
unless ($rr->{'optional'}) |
2323
|
1 |
11 |
if ($rr->{'type'} eq 'together' and @present > 0 and @present < @{$rr->{'param'};}) { } |
|
2 |
13 |
elsif ($rr->{'type'} eq 'at_most_one' and @present > 1) { } |
2354
|
1 |
21 |
if ($rr->{'require'} and not $vr->{'rs'}{$rs_name} == 2) |
2360
|
0 |
1 |
@missing == 1 ? : |
2378
|
4 |
2 |
if (@fulfilled == 0 and $rr->{'constraint'} eq 'require_one' || $rr->{'constraint'} eq 'require_any') { } |
|
2 |
0 |
elsif (@fulfilled > 1 and $rr->{'constraint'} eq 'allow_one' || $rr->{'constraint'} eq 'require_one') { } |
2386
|
0 |
4 |
@missing == 1 ? : |
2403
|
4 |
0 |
if ref $self->{'RULESETS'}{$rs}{'fulfill_order'} eq 'ARRAY' |
2424
|
3 |
1 |
if ($rr->{'type_map'}{$value}) { } |
2452
|
0 |
14 |
if exists $scratch->{$arg} |
2472
|
17 |
17 |
if ($msg =~ qr/^ERR_/) |
2483
|
0 |
8 |
$rr->{'type'} eq 'content_type' ? : |
|
24 |
8 |
$rr->{'type'} eq 'param' ? : |
|
2 |
32 |
$rr->{'key'} ? : |
2511
|
1 |
10 |
if ($msg =~ qr/^ERR_/) |
2522
|
0 |
2 |
$rr->{'type'} eq 'content_type' ? : |
|
9 |
2 |
$rr->{'type'} eq 'param' ? : |
|
0 |
11 |
$rr->{'key'} ? : |
2541
|
0 |
11 |
if $rr->{'errmsg'} |
2543
|
2 |
9 |
if ($rr->{'warn'}) { } |
2545
|
1 |
1 |
if $rr->{'warn'} ne '1' |
2566
|
42 |
4 |
if (ref $value) { } |
|
4 |
0 |
elsif (defined $value and not $value =~ /^'/) { } |
2568
|
42 |
0 |
if (&reftype($value) eq 'ARRAY') { } |
|
0 |
0 |
elsif (&reftype($value) eq 'HASH') { } |
2588
|
46 |
0 |
if defined $value and $value ne '' |
2601
|
0 |
42 |
unless @names |
2625
|
2 |
5 |
if ref $self->{'er'} eq 'ARRAY' and @{$self->{'er'};} |
2647
|
20 |
30 |
if (not wantarray) { } |
|
4 |
26 |
elsif (defined $key) { } |
2649
|
4 |
16 |
defined $key ? : |
|
12 |
8 |
unless defined $key ? ref $self->{'ec'} : ref $self->{'er'} |
2650
|
3 |
5 |
defined $key ? : |
2658
|
1 |
3 |
unless ref $self->{'ec'} |
2697
|
18 |
11 |
if (not wantarray) { } |
|
2 |
9 |
elsif (defined $key) { } |
2699
|
2 |
16 |
defined $key ? : |
|
12 |
6 |
unless defined $key ? ref $self->{'wc'} : ref $self->{'wn'} |
2700
|
2 |
4 |
defined $key ? : |
2708
|
0 |
2 |
unless ref $self->{'wn'} |
2871
|
9 |
34 |
unless ($value =~ /^([+-]?\d+)$/) |
2876
|
7 |
27 |
if (defined $min and $value < $min) |
2878
|
5 |
0 |
$min == 1 ? : |
|
1 |
5 |
$min == 0 ? : |
|
1 |
6 |
defined $max ? : |
2886
|
1 |
26 |
if (defined $max and $value > $max) |
2888
|
1 |
0 |
defined $min ? : |
2900
|
1 |
14 |
unless not defined $min or $min =~ /^[+-]?\d+$/ |
2901
|
0 |
14 |
unless not defined $max or $max =~ /^[+-]?\d+$/ |
2903
|
8 |
6 |
unless defined $min or defined $max |
2937
|
1 |
13 |
unless ($value =~ /^[+-]?(?:\d+\.\d*|\d*\.\d+|\d+)(?:[eE][+-]?\d+)?$/) |
2942
|
4 |
4 |
if (defined $min and defined $max and $value < $min || $value > $max) |
2947
|
0 |
9 |
if (defined $min and $value < $min) |
2952
|
0 |
9 |
if (defined $max and $value > $max) |
2964
|
1 |
14 |
if defined $min and not &looks_like_number($min) |
2965
|
0 |
14 |
if defined $max and not &looks_like_number($max) |
2967
|
8 |
6 |
unless defined $min or defined $max |
2988
|
4 |
3 |
if $value =~ /$pattern/ |
2996
|
2 |
8 |
unless defined $pattern and !ref($pattern) || ref $pattern eq 'Regexp' |
2999
|
4 |
4 |
ref $pattern ? : |
3029
|
4 |
1 |
if exists $accepted->{$folded} |
3042
|
0 |
9 |
unless defined $k and $k ne '' |
3044
|
0 |
9 |
if ($k eq '#') |
3051
|
9 |
0 |
unless $undoc |
3055
|
1 |
4 |
unless keys %accepted |
3077
|
0 |
2 |
if (ref($value) =~ /boolean/i) { } |
|
2 |
0 |
elsif (not ref $value) { } |
3084
|
2 |
0 |
if ($value =~ /^(?:1|yes|true|on)$/i) { } |
|
0 |
0 |
elsif ($value =~ /^(?:0|no|false|off)$/i) { } |