Condition Coverage

lib/Date/Manip/Date.pm
Criterion Covered Total %
condition 489 657 74.4


and 3 conditions

line !l l&&!r l&&r condition
242 1125 0 538 $dow2 and $dow
1125 538 0 $dow2 and $dow and $dow != $dow2
978 0 0 4 $h && $mn
3 4 0 $h || $mn || $s and not $h && $mn
5 2 0 $ampm and not $h
1008 0 12625 92 exists $dmb->{'data'}{'lang'}{'_special_rules'} and exists $dmb->{'data'}{'lang'}{'_special_rules'}{$rule}
1074 136 3 4 not @tmp and defined $abb
1132 4786 100 2 defined $abb and lc $a ne lc $abb
1387 1371 0 76 defined $ampm and $ampm
1399 1431 0 12 defined $fh and $fh ne ""
1423 0 8 defined $fm and $fm ne ""
1434 0 59 3 exists $dmb->{'data'}{'rx'}{'sepfr'} and $dmb->{'data'}{'rx'}{'sepfr'}
1467 0 54 8 exists $dmb->{'data'}{'rx'}{'sephm'} and defined $dmb->{'data'}{'rx'}{'sephm'}
54 0 8 exists $dmb->{'data'}{'rx'}{'sephm'} and defined $dmb->{'data'}{'rx'}{'sephm'} and exists $dmb->{'data'}{'rx'}{'sepms'}
0 0 8 exists $dmb->{'data'}{'rx'}{'sephm'} and defined $dmb->{'data'}{'rx'}{'sephm'} and exists $dmb->{'data'}{'rx'}{'sepms'} and defined $dmb->{'data'}{'rx'}{'sepms'}
1783 14 0 0 $h == 24 and $mn == 0
14 0 0 $h == 24 and $mn == 0 and $s == 0
1816 1123 0 1 $h == 24 and $mn == 0
1123 0 1 $h == 24 and $mn == 0 and $s == 0
1922 0 0 16 $y and $m
2057 24 12 0 $got_time and $dh != 0 || $dmn != 0 || $ds != 0
2135 1 0 0 not $tmp and $abbrev
1 0 0 not $tmp and $abbrev and not $zone
2164 1 0 0 not $tmp and $abbrev
1 0 0 not $tmp and $abbrev and not $zone
2229 150 126 603 $got_m and $nth
276 571 32 $got_m and $nth and not $dow
70 5 595 $nth and $dow
75 11 584 $nth and $dow and not $field_w
52 9 25 $field_w and $dow
56 0 5 $nth and not $got_y
2282 121 0 6 $field_d and $got_m
0 1 120 $dow and $got_m
2551 2464 0 126 $h eq "" and $m eq ""
2464 0 126 $h eq "" and $m eq "" and $s eq ""
2742 5250 0 319 $self->{'data'}{'set'} and not $self->{'err'}
2795 4885 2 0 $#val == 1 and $val[1] eq '0' || $val[1] eq '1'
2819 0 0 0 $#val == 0 and $val[0] eq '0' || $val[0] eq '1'
3057 856 2 8 $curr == 2 and $cmp != -1 * $sign
3211 1186 2 86 $mode eq 'approx' || $mode eq 'semi' and $self->{'data'}{'tz'} eq $date->{'data'}{'tz'}
3382 17 60 379 $y1 == $y2 and $m1 == $m2
77 263 116 $y1 == $y2 and $m1 == $m2 and $d1 == $d2
3437 2 3173 1 ref $date2 eq "ARRAY" and $date2->[0] < 0 || $date2->[0] > 9999
3473 73 0 2 $subtract == 2 and not $self->__is_business_day($date, 1)
3482 2097 11 1198 $subtract == 2 and $dy || $dm || $dw || $dd_approx
3526 0 2018 90 not $err and $dd_exact || $dh || $dmn || $ds
3805 45 13 0 $h == $hend and $mn > $mend
45 3 10 $h == $hend and $mn == $mend
48 10 0 $h == $hend and $mn == $mend and $s > $send
45 3 10 $h == $hend and $mn == $mend
48 0 10 $h == $hend and $mn == $mend and $s == $send
30 3 0 $h == $hbeg and $mn < $mbeg
30 0 3 $h == $hbeg and $mn == $mbeg
30 3 0 $h == $hbeg and $mn == $mbeg and $s < $sbeg
4095 2712 0 559 $checktime and not $dmb->_config("workday24hr")
4114 294 733 2115 exists $dmb->{'data'}{'holidays'}{'dates'} and exists $dmb->{'data'}{'holidays'}{'dates'}{$y + 0}
1027 456 1659 exists $dmb->{'data'}{'holidays'}{'dates'} and exists $dmb->{'data'}{'holidays'}{'dates'}{$y + 0} and exists $dmb->{'data'}{'holidays'}{'dates'}{$y + 0}{$m + 0}
1189 1074 585 exists $dmb->{'data'}{'holidays'}{'dates'} and exists $dmb->{'data'}{'holidays'}{'dates'}{$y + 0} and exists $dmb->{'data'}{'holidays'}{'dates'}{$y + 0}{$m + 0} and exists $dmb->{'data'}{'holidays'}{'dates'}{$y + 0}{$m + 0}{$d + 0}
4124 82 1 1 not $y and $self->{'data'}{'set'} == 1
4158 0 6 27 exists $dmb->{'data'}{'holidays'}{'dates'}{$y + 0} and exists $dmb->{'data'}{'holidays'}{'dates'}{$y + 0}{$m + 0}
6 4 23 exists $dmb->{'data'}{'holidays'}{'dates'}{$y + 0} and exists $dmb->{'data'}{'holidays'}{'dates'}{$y + 0}{$m + 0} and exists $dmb->{'data'}{'holidays'}{'dates'}{$y + 0}{$m + 0}{$d + 0}
4434 682 0 84 $obj->start and $obj->end
4567 41 157 149 not $posix and exists $pad_0{$f}
157 14 27 $posix and exists $pad_0_pos{$f}
4572 41 283 23 not $posix and exists $pad_sp{$f}
283 40 1 $posix and exists $pad_sp_pos{$f}
4579 290 13 4 $f eq "g" and $posix
298 1 4 $f eq "V" and $posix
4595 24 8 16 $posix and $f eq 'G' || $f eq 'g' || $f eq 'V' || $f eq 'L'
24 4 4 $posix and $f eq "W"
24 0 4 $posix and $f eq "U"
4630 345 1 1 $f eq "C" and $posix
4652 41 272 34 not $posix and exists $hr{$f}
272 40 1 $posix and exists $hr_pos{$f}
4672 41 276 30 not $posix and exists $dow{$f}
276 35 6 $posix and exists $dow_pos{$f}
4675 34 2 0 $f eq "u" and $dow == 0
4682 41 134 172 not $posix and exists $num{$f}
134 10 31 $posix and exists $num_pos{$f}
77 1 1 $f eq "P" and $posix
41 0 4 $f eq "l" and not $posix
39 0 1 $f eq "C" and not $posix
25 0 13 $f eq "g" and not $posix
18 0 1 $f eq "V" and not $posix
15 0 1 $f eq "P" and not $posix
4872 11 1 9 @args and $args[$#args] eq "dates"
4879 15 0 6 @args and $#args == 0
15 2 4 @args and $#args == 0 and ref $args[0] eq "Date::Manip::Date"
15 0 2 @args and $#args == 0
15 0 2 @args and $#args == 0 and $args[0] == 0
4955 55 82 48 $beg->cmp($d1) != 1 and $end->cmp($d0) != -1

or 3 conditions

line l !l&&r !l&&!r condition
532 25 10 420 $dow or $of
579 0 0 0 $abb or $off
839 2 2 16 $f eq "H" or $f eq "I"
0 0 16 $f eq "k" or $f eq "i"
0 0 4 $f eq "C" or $f eq "u"
2 0 0 $f eq "T" or $f eq "X"
978 4 0 3 $h || $mn || $s
1061 102 41 4742 defined $abb or defined $off
1136 1 0 49 $off->[0] != $o->[0] or $off->[1] != $o->[1]
1 0 49 $off->[0] != $o->[0] or $off->[1] != $o->[1] or $off->[2] != $o->[2]
1169 88 0 183 $rx eq "cdate" or $rx eq "tdate"
77 0 106 $rx eq "ctime" or $rx eq "ttime"
1336 35 4 275 defined $w or defined $dow
1366 26 4 40 defined $w or defined $dow
1792 14 0 1995 $got_time or exists $opts{'noother'}
1836 0 5 25 not $got_time or $string
2046 0 0 36 abs $dy > 10000 or abs $dm > 120000
0 0 36 abs $dy > 10000 or abs $dm > 120000 or abs $dw > 530000
0 0 36 abs $dy > 10000 or abs $dm > 120000 or abs $dw > 530000 or abs $dd > 3660000
0 0 36 abs $dy > 10000 or abs $dm > 120000 or abs $dw > 530000 or abs $dd > 3660000 or abs $dh > 87840000
0 0 36 abs $dy > 10000 or abs $dm > 120000 or abs $dw > 530000 or abs $dd > 3660000 or abs $dh > 87840000 or abs $dmn > 5270400000
0 0 36 abs $dy > 10000 or abs $dm > 120000 or abs $dw > 530000 or abs $dd > 3660000 or abs $dh > 87840000 or abs $dmn > 5270400000 or abs $ds > '316224000000'
2057 6 0 6 $dh != 0 || $dmn != 0 || $ds != 0
2080 0 0 10 $dd != 0 or $dh != 0
0 0 10 $dd != 0 or $dh != 0 or $dmn != 0
0 0 10 $dd != 0 or $dh != 0 or $dmn != 0 or $ds != 0
2246 8 10 32 $field_y or $field_m
18 10 22 $field_y or $field_m or $field_w
2318 0 0 567 not $m2 or $m2 != $m
2335 12 11 2 defined $n or $nth
2357 0 1 4 $field_d or $field_w
1 0 4 $field_d or $field_w or $field_m
1 0 4 $field_d or $field_w or $field_m or $field_y
2690 0 0 10659 $self->{'err'} or not $self->{'data'}{'set'}
2699 0 0 10659 $date->{'err'} or not $date->{'data'}{'set'}
2751 0 0 66 $self->{'err'} or not $self->{'data'}{'set'}
2795 0 0 2 $val[1] eq '0' || $val[1] eq '1'
2819 0 0 0 $val[0] eq '0' || $val[0] eq '1'
2945 0 0 75 $self->{'err'} or not $self->{'data'}{'set'}
2957 0 0 75 $self->{'err'} or not $self->{'data'}{'set'}
3163 0 0 1430 $self->{'err'} or not $self->{'data'}{'set'}
3168 0 0 1430 $date->{'err'} or not $date->{'data'}{'set'}
3180 0 0 226 $args[0] eq 0 or $args[0] eq 1
3211 62 44 1324 $mode eq "business" or $mode eq "bapprox"
106 50 1274 $mode eq "business" or $mode eq "bapprox" or $mode eq "bsemi"
68 20 1186 $mode eq 'approx' || $mode eq 'semi'
3247 8 5 29 $mode eq "business" or $mode eq "exact"
13 10 19 $mode eq "business" or $mode eq "exact" or $subtract == 2
3262 62 44 1324 $mode eq "business" or $mode eq "bapprox"
106 50 1274 $mode eq "business" or $mode eq "bapprox" or $mode eq "bsemi"
3277 68 44 1318 $mode eq "approx" or $mode eq "bapprox"
3283 67 23 22 $dy or $dm
3296 20 68 1342 $mode eq "semi" or $mode eq "approx"
3310 9 60 19 $dw or $dd
3315 44 12 32 $dy or $dm
56 9 23 $dy or $dm or $dw
21 16 7 $dy or $dm or $dw or $dd
3316 7 32 42 $dw > 0 || $dd > 0
3323 50 44 1336 $mode eq "bsemi" or $mode eq "bapprox"
3335 1186 20 224 $mode eq "exact" or $mode eq "semi"
1206 68 156 $mode eq "exact" or $mode eq "semi" or $mode eq "approx"
3349 62 50 1318 $mode eq "business" or $mode eq "bsemi"
112 44 1274 $mode eq "business" or $mode eq "bsemi" or $mode eq "bapprox"
3401 0 0 3178 $self->{'err'} or not $self->{'data'}{'set'}
3422 0 0 3178 abs $dy > 10000 or abs $dm > 120000
0 1 3177 abs $dy > 10000 or abs $dm > 120000 or abs $dw > 530000
1 0 3177 abs $dy > 10000 or abs $dm > 120000 or abs $dw > 530000 or abs $dd > 3660000
1 1 3176 abs $dy > 10000 or abs $dm > 120000 or abs $dw > 530000 or abs $dd > 3660000 or abs $dh > 87840000
1 0 3176 abs $dy > 10000 or abs $dm > 120000 or abs $dw > 530000 or abs $dd > 3660000 or abs $dh > 87840000 or abs $dmn > 5270400000
1 0 3176 abs $dy > 10000 or abs $dm > 120000 or abs $dw > 530000 or abs $dd > 3660000 or abs $dh > 87840000 or abs $dmn > 5270400000 or abs $ds > '316224000000'
3437 0 1 3173 $date2->[0] < 0 || $date2->[0] > 9999
3482 82 28 11 $dy || $dm || $dw || $dd_approx
3518 1411 241 456 $dy or $dm
1652 90 366 $dy or $dm or $dw
331 125 241 $dy or $dm or $dw or $dd
3526 213 35 1840 $dd_exact || $dh || $dmn || $ds
3678 2 9 1198 $date0->[0] <=> $date1->[0] || $date0->[1] <=> $date1->[1] || $date0->[2] <=> $date1->[2]
3744 309 1254 83 $dd > 0 || $dw > 0 || $dm > 0 || $dy > 0
3805 10 0 58 $h > $hend or $h == $hend and $mn > $mend
0 0 58 $h > $hend or $h == $hend and $mn > $mend or $h == $hend and $mn == $mend and $s > $send
0 10 48 $h > $hend or $h == $hend and $mn > $mend or $h == $hend and $mn == $mend and $s > $send or $h == $hend and $mn == $mend and $s == $send
15 0 33 $h < $hbeg or $h == $hbeg and $mn < $mbeg
0 0 33 $h < $hbeg or $h == $hbeg and $mn < $mbeg or $h == $hbeg and $mn == $mbeg and $s < $sbeg
3839 26 5 17 $dd > 0 || $dh > 0 || $dmn > 0 || $ds > 0
3859 0 1 1397 $date->[0] < 0 or $date->[0] > 9999
3958 0 0 5 $self->{'err'} or not $self->{'data'}{'set'}
3970 0 0 27 $self->{'err'} or not $self->{'data'}{'set'}
3992 0 0 7 $self->{'err'} or not $self->{'data'}{'set'}
4002 0 1 3 $self->{'data'}{'def'}[1] or $self->{'data'}{'def'}[2]
1 1 2 $self->{'data'}{'def'}[1] or $self->{'data'}{'def'}[2] or $self->{'data'}{'def'}[3]
1 0 2 $self->{'data'}{'def'}[1] or $self->{'data'}{'def'}[2] or $self->{'data'}{'def'}[3] or $self->{'data'}{'def'}[4]
0 1 1 $self->{'data'}{'def'}[1] or $self->{'data'}{'def'}[2] or $self->{'data'}{'def'}[3] or $self->{'data'}{'def'}[4] or $self->{'data'}{'def'}[5]
4030 0 0 12 $self->{'err'} or not $self->{'data'}{'set'}
4071 0 0 13 $self->{'err'} or not $self->{'data'}{'set'}
4089 0 1244 3271 $dow < $dmb->_config("workweekbeg") or $dow > $dmb->_config("workweekend")
4100 91 38 430 $t lt $t0 or $t gt $t1
4146 0 0 33 $self->{'err'} or not $self->{'data'}{'set'}
4180 0 0 12 $self->{'err'} or not $self->{'data'}{'set'}
4193 0 0 12 $self->{'err'} or not $self->{'data'}{'set'}
4245 0 0 6 $self->{'err'} or not $self->{'data'}{'set'}
4496 0 0 61 $self->{'err'} or not $self->{'data'}{'set'}
4567 149 35 163 not $posix and exists $pad_0{$f} or $posix and exists $pad_0_pos{$f}
4572 23 1 323 not $posix and exists $pad_sp{$f} or $posix and exists $pad_sp_pos{$f}
4579 10 11 326 $f eq "G" or $f eq "W"
21 9 317 $f eq "G" or $f eq "W" or $f eq "L"
20 10 307 $f eq "G" or $f eq "W" or $f eq "L" or $f eq "U"
19 4 303 $f eq "G" or $f eq "W" or $f eq "L" or $f eq "U" or $f eq "g" and $posix
4 18 285 $f eq "G" or $f eq "W" or $f eq "L" or $f eq "U" or $f eq "g" and $posix or $f eq "V" and $posix
4589 9 10 29 $f eq "L" or $f eq "U"
4595 8 4 8 $f eq 'G' || $f eq 'g' || $f eq 'V' || $f eq 'L'
4609 10 9 29 $f eq "G" or $f eq "L"
4625 24 5 318 $f eq "Y" or $f eq "y"
4636 7 2 338 $f eq "m" or $f eq "f"
4641 20 10 317 $f eq "d" or $f eq "e"
4652 34 1 312 not $posix and exists $hr{$f} or $posix and exists $hr_pos{$f}
4655 4 3 28 $f eq "I" or $f eq "i"
7 1 27 $f eq "I" or $f eq "i" or $f eq "l"
4672 30 6 311 not $posix and exists $dow{$f} or $posix and exists $dow_pos{$f}
4682 172 31 144 not $posix and exists $num{$f} or $posix and exists $num_pos{$f}
22 2 120 $f eq "b" or $f eq "h"
4 0 79 $f eq "p" or $f eq "P" and $posix
1 1 38 $f eq "C" and not $posix or $f eq "u"
1 1 19 $f eq "T" or $f eq "X"
4746 1 1 2 $date lt $d0 or $date ge $d1
4862 0 0 21 $self->{'err'} or not $self->{'data'}{'set'}
4925 26 26 50 $type eq "ym" or $type eq "date"
4962 8 4 8 $Date::Manip::Date::a->[0]->cmp($Date::Manip::Date::b->[0]) or $Date::Manip::Date::a->[1]->cmp($Date::Manip::Date::b->[1])
4990 40 3 6 $Date::Manip::Date::a->[0]->cmp($Date::Manip::Date::b->[0]) or $Date::Manip::Date::a->[1] cmp $Date::Manip::Date::b->[1]