|  line  | 
 true  | 
 false  | 
 branch  | 
 
| 
14
 | 
 4  | 
 1  | 
 if (defined $$c{'valid'})  | 
 
| 
15
 | 
 4  | 
 0  | 
 if ($$c{'valid'} =~ /^(past|future)$/) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (ref $$c{'valid'} ne 'CODE') { }  | 
 
| 
23
 | 
 2  | 
 3  | 
 if (defined $$c{'now'}) { }  | 
 
| 
24
 | 
 2  | 
 0  | 
 if (ref $$c{'now'} eq 'CODE') { }  | 
 
| 
35
 | 
 0  | 
 5  | 
 if (defined $$c{'parser'}) { }  | 
 
| 
36
 | 
 0  | 
 0  | 
 if (ref $$c{'parser'} eq 'CODE') { }  | 
 
| 
56
 | 
 10  | 
 2  | 
 if (defined $y and defined $m and defined $d and $y =~ /^\d+$/ and $m =~ /^\d+$/ and $d =~ /^\d+$/) { }  | 
 
| 
65
 | 
 8  | 
 2  | 
 if (defined $$self{'valid'})  | 
 
| 
66
 | 
 1  | 
 7  | 
 if ($$self{'valid'} eq 'past' and $v gt $$self{'now'}()) { }  | 
 
| 
 | 
 1  | 
 9  | 
 elsif ($$self{'valid'} eq 'future' and $v le $$self{'now'}()) { }  | 
 
| 
106
 | 
 9  | 
 3  | 
 if ($date =~ m[^\d?\d/\d?\d/\d{4}$]) { }  | 
 
| 
 | 
 2  | 
 1  | 
 elsif ($date =~ /^\d{4}-\d?\d-\d?\d$/) { }  | 
 
| 
122
 | 
 1  | 
 10  | 
 if (not $m =~ /^\d+$/ or $m < 1 or $m > 12)  | 
 
| 
127
 | 
 0  | 
 10  | 
 if ($m == 2 and $d == 29)  | 
 
| 
128
 | 
 0  | 
 0  | 
 unless ($y % 4 == 0 and $y % 100 != 0 or $y % 400 == 0)  | 
 
| 
134
 | 
 0  | 
 10  | 
 if (not $d =~ /^\d+$/ or $d < 1 or $d > $md{$m})  | 
 
| 
139
 | 
 0  | 
 10  | 
 if (not $y =~ /^\d+$/ or $y < 1000 or $y > 9999)  |