Branch Coverage

blib/lib/DateTime/Format/Natural.pm
Criterion Covered Total %
branch 121 144 84.0


line true false branch
67 7004 0 if (defined $opts{$opt})
74 0 10581 unless eval "require $mod"
94 1072 1 unless exists $_[1]{'prefer_future'}
120 1090 0 unless exists $_[1]{'demand_future'}
132 1 1561 if (&blessed($val)) { }
150 0 39 if (&any(sub {
0 39 elsif (&any(sub {
0 39 elsif (&any(sub {
0 39 elsif (&any(sub {
159 58 0 unless $href->{$_} < 0
175 26 0 if &blessed($obj)
209 271 11432 if ($self->_check_formatted('ymd', \%count)) { }
193 11239 elsif ($self->_check_formatted('md', \%count)) { }
9 11230 elsif ($date_string =~ /^(\d{4}(?:-\d{2}){0,2})T(\d{2}(?::\d{2}){0,2})$/) { }
14 11216 elsif ($date_string =~ /^([+-]) (\d+?) ([a-zA-Z]+)$/x) { }
6 11210 elsif ($date_string =~ /^\d{14}$/) { }
211 1 270 if &blessed($dt)
215 1 192 if &blessed($dt)
217 36 156 if ($self->{'Prefer_future'} or $self->{'Demand_future'})
235 0 9 unless ($valid_date and $valid_time)
236 0 0 !$valid_date ? :
257 2 12 if (&none(sub {
273 0 6 unless ($valid_date and $valid_time)
274 0 0 !$valid_date ? :
295 11339 360 if (defined $trace)
307 0 13170 if (@_ > 1) { }
332 24 2883 if (exists $self->{'Datetime'} and $method eq 'now') { }
343 8796 2907 if ($self->{'running_tests'}) { }
370 1039 219 $duration_string =~ /\s+ $timespan_sep \s+/xi ? :
376 1 1257 if (@date_strings > $max)
395 2292 5 if (@{$self->{'traces'};})
398 1932 365 if ($self->{'running_tests'})
412 1 1257 if ($shrinked)
437 208 1 if @expressions
439 207 2 wantarray ? :
446 10240 362 $self->_get_valid_exp && !$self->_get_failure ? :
453 1 5 if $self->success
457 1 4 unless defined $self->{'mode'} and length $self->{'mode'}
465 4 1 if (defined $error) { }
479 1 6 unless $self->{'traces'}
488 10414 1117 unless (exists $self->{'lookup'})
492 197866 499872 if ($self->_expand_for($keyword))
498 0 11531 unless $self->{'lookup'}{$self->{'count'}{'tokens'}}
504 17353 94261 if $expandable
507 265875 403166 $expandable ? :
513 65024 710045 if ($types->[$pos] eq 'SCALAR') { }
710045 0 elsif ($types->[$pos] eq 'REGEXP') { }
514 65024 0 if (defined $definition->{$pos})
515 6354 58670 if (${$self->_token($pos);} =~ /^$definition->{$pos}$/i) { }
525 111211 598834 if (my(@captured) = ${$self->_token($pos);} =~ /$definition->{$pos}/) { }
540 8573 660468 if ($valid_expression and @{$expression->[2];})
546 366 10473 unless ($valid_expression)
552 11171 657870 if ($valid_expression)
554 585 10586 unless $expression->[6]{'truncate_to'}
559 18171 6462 ref $pos eq 'HASH' ? :
566 234 17937 $index eq 'VALUE' ? :
6462 0 exists $first_stack{$index} ? :
18171 6462 ref $pos ? :
587 8251 11327 unless defined $truncate_to
589 8148 3179 $_ =~ /_/ ? :
595 11273 8728 if (defined $units[$index] and not exists $self->{'modified'}{$units[$index]})
610 2070 0 if ($self->{'Prefer_future'} || $self->{'Demand_future'} and (exists $opts{'advance_future'} and $opts{'advance_future'}))
637 18 2088 exists $self->{'Datetime'} ? :
643 66 0 $self->{'modified'}{'day'} == 1 ? :
66 24 exists $self->{'modified'}{'day'} ? :
234 1872 if (&all(sub {
18 1854 elsif (sub {
1188 666 elsif (&$token_contains('weekdays_all') and not $skip_weekdays and (exists $self->{'modified'}{'day'} and $self->{'modified'}{'day'} == 1) and $self->{'Prefer_future'} && &$day_of_week($self) < $now->wday || $self->{'Demand_future'} && &$day_of_week($self) <= $now->wday) { }
72 606 elsif (&$token_contains('months_all') || $advance{'md'} and &all(sub {
651 474 1398 unless @{$self->{'tokens'};} == 2
653 36 1362 if ($self->{'tokens'}[0] =~ /$day/ and $self->{'tokens'}[1] =~ /$weekday/)
695 775069 0 defined $token ? :