Branch Coverage

lib/Cron/Toolkit.pm
Criterion Covered Total %
branch 242 326 74.2


line true false branch
276 0 88 unless defined $args{'expression'}
282 6 82 if ($expr =~ /^(\@.*)/)
284 0 6 unless $expr = $Cron::Toolkit::ALIASES{$alias}
291 4 84 if scalar @fields == 5
292 4 84 if scalar @fields == 6
293 0 88 unless scalar @fields == 7
296 0 88 if ($args{'is_quartz'}) { }
299 0 0 if ($fields[5] =~ /\b0\b/ and not $fields[5] =~ /#\d+/)
322 29 59 if ($fields[3] ne '?' and $fields[5] eq '*') { }
2 57 elsif ($fields[3] eq '*' and $fields[5] ne '?') { }
0 89 elsif ($fields[3] eq '?' and $fields[5] eq '?') { }
332 0 88 unless join(" ", @fields) =~ m[^[#LW\d\?\*\s\-/,]+$]
344 0 88 if defined $args{'utc_offset'}
345 0 88 if defined $args{'time_zone'}
346 2 86 if defined $args{'user'}
347 6 82 if defined $args{'command'}
348 6 82 if defined $args{'env'}
371 89 536 if $field eq "dow"
374 9 616 if ($node->type eq "step")
379 6 3 if ($base_node->type eq 'wildcard') { }
1 2 elsif ($base_node->type eq 'single') { }
2 0 elsif ($base_node->type eq 'range') { }
381 1 5 if $field eq "dow"
396 52 0 if grep {$_ == $v;} @values
400 0 9 if (@stepped == 0) { }
0 9 elsif (@stepped == 1) { }
416 9 0 if $optimized_base == $base_node
425 9 607 if ($node->type eq "list")
428 0 9 if (@values >= 2 and $values[-1] - $values[0] == $#values)
453 13 102 if ($dow_node->has_children) { }
1 177 elsif ($dow_node->type eq 'single' and $dow_node->{'value'} == 0) { }
465 0 643 unless $value =~ /$Cron::Toolkit::ALLOWED_CHARS{$field}/
468 93 550 if $field eq "dow"
473 173 470 if ($value eq '*') { }
88 382 elsif ($value eq '?') { }
9 373 elsif ($value =~ /^(\d+)?L$/) { }
1 372 elsif ($value =~ qr/^L-(\d+)$/) { }
1 371 elsif ($value =~ /^LW$/) { }
3 368 elsif ($value =~ /^(\d+)W$/) { }
9 359 elsif ($value =~ /^(\d+)#(\d+)$/) { }
323 36 elsif ($value =~ /^\d+$/) { }
18 18 elsif ($value =~ /^(\*|\d+)-(\d+)$/) { }
7 11 elsif ($value =~ m[^(\*|\d+)/(\d+)$]) { }
2 9 elsif ($value =~ m[^(\*|\d+)-(\d+)/(\d+)$]) { }
9 0 elsif ($value =~ /,/) { }
480 0 88 unless $field =~ /^(dom|dow)$/
489 0 9 unless $field =~ /^dom|dow$/
498 5 4 if ($field eq 'dom') { }
499 0 5 if defined $day
503 0 4 unless $day >= $min and $day <= $max
510 0 1 unless $field eq "dom"
512 1 0 if ($offset)
513 0 1 if $offset >= $max - 1
523 0 1 unless $field eq "dom"
530 0 3 unless $field eq "dom"
532 0 3 unless $day >= 1 and $day <= 31
540 0 9 unless $field eq "dow"
542 0 9 unless $day >= 1 and $day <= 7
543 0 9 unless $nth >= 1 and $nth <= 5
552 0 323 unless $value >= $min and $value <= $max
560 0 18 if $start eq "*"
561 0 18 unless $start >= $min and $start <= $max
562 0 18 unless $end >= $min and $end <= $max
563 0 18 if $start > $end and $field ne "dow"
569 4 14 if ($field eq "dow" and $start > $end)
575 0 7 unless $step >= $min and $step <= $max
576 0 1 if $base_str ne "*" and $base_str < $min || $base_str > $max
581 6 1 $base_str eq '*' ? :
596 0 2 $base_str eq '*' ? :
598 0 2 unless $start >= $min and $start <= $max
599 0 2 unless $end >= $min and $end <= $max
600 0 2 unless $step > 0
603 0 2 if ($field eq 'dow' and $start > $end) { }
607 0 2 if $start > $end and $field ne "dow"
629 0 27 if $sub_node->type eq "list"
632 0 27 if ($@)
649 48 116 if ($offset)
650 0 48 if (not $offset =~ /^-?\d+$/ or $offset < -1080 or $offset > 1080)
660 38 0 if ($tz)
662 0 38 if $@
672 0 0 if (@_ > 1)
673 0 0 unless defined $new_begin and $new_begin =~ /^\d+$/ and $new_begin >= 0
681 0 0 if (@_ > 1)
682 0 0 unless not defined $new_end or $new_end =~ /^\d+$/ and $new_end >= 0
690 2 3 if $user
696 6 6 if $command
702 6 2 if $env
721 0 82 unless @fields > 5
729 3 30 $1 == 7 ? :
762 0 1 unless defined $content and length $content
770 13 9 unless $line =~ /\S/
772 3 6 if ($line =~ /^([A-Z_][A-Z0-9_]*)=(.*)$/)
786 1 32 if @cron_parts >= 7
787 1 31 if (@cron_parts == 0 and $part =~ /^@/) { }
27 4 elsif ($part =~ m[^[0-9*?,/\-L#W?]+$] or scalar grep({$part =~ /$_/;} keys %Cron::Toolkit::DOW_MAP_UNIX) or scalar grep({$part =~ /$_/;} keys %Cron::Toolkit::MONTH_MAP)) { }
804 0 5 unless $is_alias or @cron_parts >= 5 and @cron_parts <= 7
810 6 0 if (@parts > $cron_end)
812 2 4 if ($potential_user =~ /^\w+$/)
818 6 0 if @parts > $next_start
829 0 6 if ($@) { }
848 82 410 $i == $#{$$self{'nodes'};} ? :
82 492 $i == 0 ? :
849 82 492 $i == $#{$$self{'nodes'};} ? :
859 332 1012 if $type eq "wildcard"
860 168 844 if $type eq "unspecified"
861 24 75 if $type eq "single" or $type eq "last" or $type eq "lastW" or $type eq "nth" or $type eq "nearest_weekday" or $type eq "step_value"
862 39 36 if $type eq "range"
863 18 18 if $type eq "step"
864 18 0 if $type eq "list"
882 119 455 $node->type eq 'unspecified' || $node->type eq 'wildcard' && $prev_type eq 'wildcard' ? :
888 2 80 if ($wildcards == 3) { }
65 15 elsif ($singles == 3) { }
895 41 4 if defined $_
899 45 37 if (defined $nodes[3])
900 24 21 if ($nodes[3]->type eq "single")
906 0 82 if (defined $nodes[3] and defined $nodes[5])
910 26 56 if (defined $nodes[5])
912 3 23 if ($nodes[5]->type eq "single")
918 1 26 if (defined $nodes[4] and $nodes[4]->type ne "wildcard" and not defined $nodes[3] and not defined $nodes[5])
922 22 60 if (defined $nodes[6] and $nodes[6]->type ne "wildcard")
933 0 0 unless $tm
942 139 1947667 if ($node->type eq "list")
944 27 398 if $child->match($value, $tm)
948 487710 1459957 unless $node->match($value, $tm)
959 0 82 if $clamped > $self->{'end_epoch'}
971 190 42 if ($curval >= $highval)
979 17 619 if ($self->_is_match($c_tm))
996 2 80 if $tm->is_before($tm_year_low)
1015 70 328632 if $self->_is_match($tm)
1027 0 82 if $clamped < $self->{'begin_epoch'}
1039 5 224 if ($curval <= $lowval)
1047 25 9813 if ($self->_is_match($c_tm))
1063 1 81 if $tm->is_after($tm_year_high)
1078 75 148758 if $self->_is_match($tm)
1086 488173 1460094 if $field_type eq "second"
1087 483536 976558 if $field_type eq "minute"
1088 479143 497415 if $field_type eq "hour"
1089 477905 19510 if $field_type eq "dom"
1090 16180 3330 if $field_type eq "month"
1091 1892 1438 if $field_type eq "dow"
1092 1438 0 if $field_type eq "year"
1097 4986 6071 if $field_type eq "second"
1098 4665 1406 if $field_type eq "minute"
1099 1242 164 if $field_type eq "hour"
1100 0 164 if $field_type eq "dom"
1101 0 164 if $field_type eq "month"
1102 0 164 if ($field_type eq "dow")
1103 0 0 if $value == 0
1106 164 0 if $field_type eq "year"
1111 0 297 if $field_type eq "second"
1112 77 220 if $field_type eq "minute"
1113 73 147 if $field_type eq "hour"
1114 65 82 if $field_type eq "dom"
1115 0 82 if $field_type eq "month"
1116 0 82 if $field_type eq "dow"
1117 82 0 if $field_type eq "year"
1122 0 286 if $field_type eq "second"
1123 77 209 if $field_type eq "minute"
1124 70 139 if $field_type eq "hour"
1125 57 82 if $field_type eq "dom"
1126 0 82 if $field_type eq "month"
1127 0 82 if $field_type eq "dow"
1128 82 0 if $field_type eq "year"