Branch Coverage

blib/lib/Date/Reformat.pm
Criterion Covered Total %
branch 198 276 71.7


line true false branch
424 475 169 unless defined $args->{$parameter}
522 4 142 if (defined $definition->{'regex'})
525 3 1 if (defined $definition->{'params'})
541 10 132 if (defined $definition->{'strptime'})
549 132 0 if (defined $definition->{'heuristic'})
651 5 15 if (defined $definition->{'sprintf'})
660 8 7 if (defined $definition->{'strftime'})
668 6 1 if (defined $definition->{'data_structure'})
669 3 3 if ($definition->{'data_structure'} =~ /^hash(?:ref)?$/)
678 3 0 if ($definition->{'data_structure'} =~ /^array(?:ref)?$/)
688 1 0 if (defined $definition->{'coderef'})
861 145 16 if defined $value
892 0 3 unless @components
926 0 11 unless $success
930 0 2 if (defined $date{'hour_12'} and $date{'hour_12'} > 12 || $date{'hour_12'} == 0)
983 0 0 $TOKENS->{$1} ? :
999 10 0 if $self->{'debug'}
1063 132 0 if $self->{'debug'}
1065 0 132 unless @parts
1071 343 0 if $self->{'debug'}
1072 0 343 if ($part =~ /^$regex_for_time_zone_offset$/) { }
5 338 elsif ($part =~ /^$regex_for_time$/) { }
0 338 elsif ($part =~ /^$regex_for_time_zone_long_name$/) { }
67 271 elsif ($part =~ /^$regex_for_date$/) { }
3 268 elsif ($part =~ /^$regex_for_julian_day$/) { }
130 138 elsif ($part =~ /^$regex_for_number$/) { }
31 107 elsif ($part =~ /^$regex_for_string$/) { }
98 9 elsif ($part =~ /^$regex_for_whitespace$/) { }
1073 0 0 if $self->{'debug'}
1080 5 0 if $self->{'debug'}
1084 5 0 if $self->{'debug'}
1088 5 0 if (@time > 2)
1089 5 0 if $self->{'debug'}
1120 21 46 if ($date_parts[0] =~ /^$TOKENS->{'year'}{'regex'}$/ and scalar keys %$date == 0) { }
2 44 elsif ($hint eq 'dmy' and $date_parts[0] =~ /^$TOKENS->{'month_abbr'}{'regex'}$/ || $date_parts[0] =~ /^$TOKENS->{'month_name'}{'regex'}$/) { }
3 41 elsif ($hint eq 'mdy' and $date_parts[1] =~ /^$TOKENS->{'month_abbr'}{'regex'}$/ || $date_parts[1] =~ /^$TOKENS->{'month_name'}{'regex'}$/) { }
1149 41 26 unless ($order_string =~ /^ymd|dmy|mdy$/)
1150 41 0 if $self->{'debug'}
1155 57 119 if ($order[$index] eq 'y') { }
59 60 elsif ($order[$index] eq 'm') { }
60 0 elsif ($order[$index] eq 'd') { }
1156 34 23 if ($date_parts[$index] =~ /^$TOKENS->{'year'}{'regex'}$/) { }
20 3 elsif ($date_parts[$index] =~ /^$TOKENS->{'year_abbr'}{'regex'}$/) { }
1157 34 0 if $self->{'debug'}
1162 20 0 if $self->{'debug'}
1174 42 17 if ($date_parts[$index] =~ /^$TOKENS->{'month'}{'regex'}$/ and $date_parts[$index] <= 12) { }
12 5 elsif ($date_parts[$index] =~ /^$TOKENS->{'month_abbr'}{'regex'}$/) { }
1179 42 0 if $self->{'debug'}
1184 12 0 if $self->{'debug'}
1196 14 46 if (not $date_parts[$index] =~ /^$TOKENS->{'day'}{'regex'}$/ or $date_parts[$index] > 31)
1206 46 0 if $self->{'debug'}
1210 109 45 if $index < 2
1220 4 126 if (length $part == 8) { }
4 122 elsif (length $part == 6) { }
3 119 elsif (length $part == 3 and defined $date->{'year'}) { }
29 90 elsif (length $part == 4) { }
1236 1 3 if (defined $date->{'year'}) { }
1271 3 0 if $self->{'debug'}
1276 2 27 if (defined $date->{'year'} or defined $date->{'year_abbr'}) { }
1286 2 2 unless ($TOKENS->{$token}{'constraint'}->($hm{$token}))
1305 0 27 unless defined $token
1306 27 0 if $self->{'debug'}
1309 15 0 unless (defined $date->{'day'} or defined $date->{'month'} or defined $date->{'month_abbr'} or defined $date->{'month_name'})
1324 23 67 if (($order_string // $hint) eq 'dmy') { }
24 43 elsif (($order_string // $hint) eq 'mdy') { }
43 0 elsif (($order_string // $hint) eq 'ymd') { }
1332 4 19 unless defined $token
1333 19 0 if $self->{'debug'}
1345 4 20 unless defined $token
1346 20 0 if $self->{'debug'}
1358 4 39 unless defined $token
1359 39 0 if $self->{'debug'}
1364 0 0 if $self->{'debug'}
1377 29 2 if ($token) { }
1378 24 5 if ($token eq 'month_name' or $token eq 'month_abbr')
1379 6 18 if (defined $date->{'month'})
1381 6 0 if (($order_string // $hint) =~ /md/)
1382 6 0 if $self->{'debug'}
1384 6 14 if ($parser_part =~ /\?/)
1392 29 0 if $self->{'debug'}
1397 2 0 if $self->{'debug'}
1402 98 0 if $self->{'debug'}
1406 9 0 if $self->{'debug'}
1412 1 95 if (defined $date->{'am_or_pm'} and lc $date->{'am_or_pm'} eq 'pm')
1413 1 0 if (defined $date->{'hour'} and $date->{'hour'} < 12)
1416 1 12 if ($parser_part =~ /\?/)
1423 96 0 if $self->{'debug'}
1426 96 0 unless (defined $known_parsers->{$parser_regex})
1495 6 1 if $structure eq 'arrayref'
1536 3 0 if $structure eq 'hashref'
1665 52 0 if ($token =~ /%\{(\w+)\}/)
1670 52 0 if $self->{'debug'}
1673 2 50 if (defined $TOKENS->{$internal}{'storage'})
1685 8 0 if $self->{'debug'}
1708 68 0 if $self->{'debug'}
1709 0 68 if (defined $self->{'strptime_mappings'}{$token}) { }
65 3 elsif (defined $DEFAULT_STRPTIME_MAPPINGS->{$token}) { }
1716 3 65 unless (defined $internal)
1717 3 0 if $self->{'debug'}
1721 0 65 unless (defined $TOKENS->{$internal}{'regex'})
1724 65 0 if $self->{'debug'}
1743 52 0 if $self->{'debug'}
1744 0 52 if (defined $self->{'strftime_mappings'}{$token})
1747 0 52 if (defined $self->{'strptime_mappings'}{$token}) { }
0 52 elsif (defined $DEFAULT_STRFTIME_MAPPINGS->{$token}) { }
52 0 elsif (defined $DEFAULT_STRPTIME_MAPPINGS->{$token}) { }
1757 0 52 unless (defined $internal)
1758 0 0 if $self->{'debug'}
1762 0 52 unless (defined $TOKENS->{$internal}{'sprintf'})
1765 52 0 if $self->{'debug'}
1790 0 8 if defined $date->{$target_token}
1794 6 9 if (defined $transformations->{$target_token})
1796 6 0 if (defined $date->{$source_token} and defined $transformations->{$target_token}{$source_token})
1833 54 325 if ($token eq 'day')
1834 14 40 if defined $already_claimed->{'day'}
1835 0 40 unless $date_part =~ /^$TOKENS->{$token}{'regex'}$/
1836 8 32 if ($date_part > 31)
1844 66 259 if ($token eq 'month')
1845 18 48 if defined $already_claimed->{'month'}
1846 13 35 if defined $already_claimed->{'month_abbr'}
1847 5 30 if defined $already_claimed->{'month_name'}
1848 0 30 unless $date_part =~ /^$TOKENS->{$token}{'regex'}$/
1849 4 26 if ($date_part > 12)
1857 133 126 if ($token eq 'year' or $token eq 'year_abbr')
1858 36 97 if defined $already_claimed->{'year'}
1859 28 69 if defined $already_claimed->{'year_abbr'}
1860 22 47 unless $date_part =~ /^$TOKENS->{$token}{'regex'}$/
1865 0 126 if defined $already_claimed->{$token}
1866 97 29 unless $date_part =~ /^$TOKENS->{$token}{'regex'}$/
1870 0 2 if ($hint)
1903 242 0 $count ? :
1929 20 0 $count ? :
1950 0 146 unless (&$has_parser($self->{'active_parsers'}))
1956 110 36 if defined $date
1979 0 20 unless defined $date
1982 0 20 unless (&$has_formatter($self->{'active_formatters'}))
1990 20 0 if scalar @formatted == 1
2012 5 0 if scalar @formatted == 1