Branch Coverage

blib/lib/Date/Parse.pm
Criterion Covered Total %
branch 140 224 62.5


line true false branch
235 21 16 if ($obj)
241 0 21 unless my $sub = eval "$obj_strptime"
0 9 if @_
0 9 unless $dtstr =~ /\S/
0 9 if ($dtstr =~ s/\s(\d{4})(\d\d)(\d\d)(?:[-Tt ](\d\d?)(?:([-:]?)(\d\d?)(?:\5(\d\d?)(?:[.,](\d+))?)?)?)?(?=\D)/ /) { }
0 9 elsif ($dtstr =~ s/\s(\d{4})([-:])(\d\d?)\2(\d\d?)(?:[-Tt ](\d\d?)(?:([-:]?)(\d\d?)(?:\6(\d\d?)(?:[.,](\d+))?)?)?)?(?=\D)/ /) { }
0 9 if ($dtstr =~ s/\s(\d{4})([-:]?)(\w{3,})\2(\d\d?)(?:[-Tt ](\d\d?)(?:([-:]?)(\d\d?)(?:\6(\d\d?)(?:[.,](\d+))?)?)?)?(?=\D)/ /)
0 1 if $5
0 1 if $6
1 8 if ($dtstr =~ s/[:\s](\d\d?):(\d\d?)(:(\d\d?)(?:\.\d+)?)?(z)?\s*(?:([ap])\.?m?\.?)?\s/ /o) { }
0 8 elsif ($dtstr =~ s/\s(\d\d?)\s*([ap])\.?m?\.?\s/ /o) { }
9 0 unless (defined $hh)
0 1 if (defined $hh and $hh <= 12 and $dtstr =~ s/ ([ap])\.?m?\.?\s/ /o)
0 0 if $5
0 0 if $month > 12
0 0 if length $year > 2 and $year < 1901
0 0 if ($5)
0 1 if ($2 > 31) { }
0 9 if ($dtstr =~ s[\s(\d\d?)([\-\./])($monpat)(\2(\d\d+))?\s][ ]o) { }
0 9 elsif ($dtstr =~ s[\s(\d+)([\-\./])(\d\d?)(\2(\d+))?\s][ ]o) { }
8 1 elsif ($dtstr =~ s/\s(\d+)\s*($sufpat)?\s*($monpat)/ /o) { }
1 0 elsif ($dtstr =~ s/($monpat)\s*(\d+)\s*($sufpat)?\s/ /o) { }
0 0 elsif ($dtstr =~ s[($monpat)([\/-])(\d+)[\/-]][ ]o) { }
0 0 elsif ($dtstr =~ /\s(\d\d)(\d\d)(\d\d)\s/o and $2 >= 1 and $2 <= 12) { }
9 0 if not defined $year and $dtstr =~ s/\s(\d{2}(\d{2})?)[\s\.,]/ /o
9 0 unless (defined $year)
0 9 if $dtstr =~ s/\bdst\b//o
0 0 if $2 and $2 eq "dst"
0 0 unless defined $zone
0 0 defined $4 ? :
0 0 defined $1 ? :
0 0 unless defined $zone
0 9 if ($dtstr =~ s/\s"?([a-z]{3,4})(dst|\d+[a-z]*|_[a-z]+)?"?\s/ /o) { }
0 9 elsif ($dtstr =~ s/\s([a-z]{3,4})?([\-\+]?)-?(\d\d?):?(\d\d)?(00)?\s/ /o) { }
0 0 defined $4 ? :
0 0 defined $1 ? :
0 0 unless defined $zone
0 0 if ($dtstr =~ s/^\s*(ut?|z)\s*$//) { }
0 0 elsif ($dtstr =~ s/\s([a-z]{3,4})?([\-\+]?)-?(\d\d?)(\d\d)?(00)?\s/ /o) { }
0 0 if $dtstr =~ /\S/o
0 9 if ($dtstr =~ /\S/)
0 0 if $merid == $AM
0 1 if ($hh == 12) { }
0 1 elsif ($merid == $PM) { }
1 8 if (defined $hh)
9 0 if (defined $year and $year >= 100)
0 9 if defined $zone and $dst
0 9 if $frac
0 0 unless defined $hh or defined $mm or defined $ss or defined $day or defined $month or defined $year
245 0 16 unless eval "$strptime"
2 543 if @_
3 542 unless $dtstr =~ /\S/
3 539 if ($dtstr =~ s/\s(\d{4})(\d\d)(\d\d)(?:[-Tt ](\d\d?)(?:([-:]?)(\d\d?)(?:\5(\d\d?)(?:[.,](\d+))?)?)?)?(?=\D)/ /) { }
79 460 elsif ($dtstr =~ s/\s(\d{4})([-:])(\d\d?)\2(\d\d?)(?:[-Tt ](\d\d?)(?:([-:]?)(\d\d?)(?:\6(\d\d?)(?:[.,](\d+))?)?)?)?(?=\D)/ /) { }
3 539 if ($dtstr =~ s/\s(\d{4})([-:]?)(\w{3,})\2(\d\d?)(?:[-Tt ](\d\d?)(?:([-:]?)(\d\d?)(?:\6(\d\d?)(?:[.,](\d+))?)?)?)?(?=\D)/ /)
2 437 if $5
12 427 if $6
439 25 if ($dtstr =~ s/[:\s](\d\d?):(\d\d?)(:(\d\d?)(?:\.\d+)?)?(z)?\s*(?:([ap])\.?m?\.?)?\s/ /o) { }
0 25 elsif ($dtstr =~ s/\s(\d\d?)\s*([ap])\.?m?\.?\s/ /o) { }
464 78 unless (defined $hh)
2 515 if (defined $hh and $hh <= 12 and $dtstr =~ s/ ([ap])\.?m?\.?\s/ /o)
3 4 if $5
10 4 if $month > 12
0 14 if length $year > 2 and $year < 1901
14 0 if ($5)
2 172 if ($2 > 31) { }
7 450 if ($dtstr =~ s[\s(\d\d?)([\-\./])($monpat)(\2(\d\d+))?\s][ ]o) { }
14 436 elsif ($dtstr =~ s[\s(\d+)([\-\./])(\d\d?)(\2(\d+))?\s][ ]o) { }
239 197 elsif ($dtstr =~ s/\s(\d+)\s*($sufpat)?\s*($monpat)/ /o) { }
174 23 elsif ($dtstr =~ s/($monpat)\s*(\d+)\s*($sufpat)?\s/ /o) { }
6 17 elsif ($dtstr =~ s[($monpat)([\/-])(\d+)[\/-]][ ]o) { }
0 17 elsif ($dtstr =~ /\s(\d\d)(\d\d)(\d\d)\s/o and $2 >= 1 and $2 <= 12) { }
409 48 if not defined $year and $dtstr =~ s/\s(\d{2}(\d{2})?)[\s\.,]/ /o
457 85 unless (defined $year)
0 542 if $dtstr =~ s/\bdst\b//o
0 324 if $2 and $2 eq "dst"
1 323 unless defined $zone
137 2 defined $4 ? :
0 139 defined $1 ? :
0 139 unless defined $zone
324 218 if ($dtstr =~ s/\s"?([a-z]{3,4})(dst|\d+[a-z]*|_[a-z]+)?"?\s/ /o) { }
139 79 elsif ($dtstr =~ s/\s([a-z]{3,4})?([\-\+]?)-?(\d\d?):?(\d\d)?(00)?\s/ /o) { }
0 0 defined $4 ? :
0 0 defined $1 ? :
0 0 unless defined $zone
16 3 if ($dtstr =~ s/^\s*(ut?|z)\s*$//) { }
0 3 elsif ($dtstr =~ s/\s([a-z]{3,4})?([\-\+]?)-?(\d\d?)(\d\d)?(00)?\s/ /o) { }
3 16 if $dtstr =~ /\S/o
19 522 if ($dtstr =~ /\S/)
2 28 if $merid == $AM
30 487 if ($hh == 12) { }
10 477 elsif ($merid == $PM) { }
517 21 if (defined $hh)
356 182 if (defined $year and $year >= 100)
0 538 if defined $zone and $dst
13 525 if $frac
3 2 unless defined $hh or defined $mm or defined $ss or defined $day or defined $month or defined $year
253 2 524 @_ > 2 ? :
257 9 517 unless @t
269 10 507 unless defined $month
272 10 507 unless defined $day
275 21 496 unless (defined $year)
278 9 13 $is_future ? :
282 338 179 if defined $century
289 154 4 $year >= 69 ? :
157 359 if $year < 100
292 1 516 unless $month <= 11 and $day >= 1 and $day <= 31 and $hh <= 23 and $mm <= 59 and $ss <= 59
297 470 46 if (defined $zone) { }
303 1 470 if not defined $result or $result == -1 and join("", $ss, $mm, $hh, $day, $month, $year) ne "595923311169"
308 0 469 if $result < 0 and $year >= 1970
317 0 46 if not defined $result or $result == -1 and join("", $ss, $mm, $hh, $day, $month, $year) ne join("", (localtime -1)[0..5])
323 0 46 if $result < 0 and $year >= 1971