Branch Coverage

lib/Date/Manip/TZ.pm
Criterion Covered Total %
branch 286 548 52.1


line true false branch
100 515 0 if ($os eq 'Unix') { }
0 0 elsif ($os eq 'Windows') { }
0 0 elsif ($os eq 'VMS') { }
167 57 34 if exists $self->{'data'}{'Offsets'}{$offset}
180 0 1626 if exists $self->{'data'}{'Zones'}{$zone}{'Loaded'}
203 1 48101 if (exists $self->{'data'}{'MyAlias'}{$zone}) { }
48051 50 elsif (exists $self->{'data'}{'Alias'}{$zone}) { }
226 1 1 if ($alias eq "reset")
231 0 1 if (lc $zone eq "reset")
239 0 1 unless $zone
249 2 4 if ($abbrev eq "reset")
254 1 3 if ($#zone == 0 and lc $zone[0] eq "reset")
260 0 3 unless (exists $self->{'data'}{'Abbrev'}{$abbrev})
268 0 5 unless $zone
269 0 5 unless exists $zone{$zone}
270 0 5 if exists $z{$zone}
287 10 12 if (lc $offset eq "reset")
291 0 12 if ($#args == 0 and lc $args[0] eq "reset")
299 0 12 if (ref $offset) { }
304 1 11 unless $offset
305 1 10 unless exists $self->{'data'}{'Offmod'}{$offset}
312 10 0 if ($args[0] =~ /^std|dst|stdonly|dstonly$/i)
314 3 7 if ($tmp eq 'stdonly') { }
2 5 elsif ($tmp eq 'dstonly') { }
322 2 8 if ($#isdst == 0 and not exists $self->{'data'}{'Offsets'}{$offset}{$isdst[0]})
331 0 16 unless exists $self->{'data'}{'Offsets'}{$offset}{$isdst}
338 2 13 if (not exists $self->{'data'}{'ZoneNames'}{$lcz}) { }
1 12 elsif (not exists $tmp{'0'}{$lcz} || exists $tmp{'1'}{$lcz}) { }
2 17 elsif ($#isdst == 0 and not exists $tmp{$isdst[0]}{$lcz}) { }
355 6 4 if exists $tmp{$isdst}{$z}
371 0 0 if ($reset)
382 0 0 if (${^TAINT})
408 0 518 $isdst ? :
411 0 518 $ENV{'DATE_MANIP_DEBUG'} ? :
414 518 0 if defined $self->{'data'}{'path'}
421 0 3506 if $debug
423 518 2988 if ($method eq 'main') { }
518 2470 elsif ($method eq 'env') { }
1976 494 elsif ($method eq 'file') { }
0 494 elsif ($method eq 'tzdata') { }
494 0 elsif ($method eq 'command') { }
0 0 elsif ($method eq 'cmdfield') { }
0 0 elsif ($method eq 'gmtoff') { }
0 0 elsif ($method eq 'registry') { }
425 0 518 unless (@methods)
426 0 0 if $debug
431 0 518 if $debug
435 0 518 if (defined $val) { }
437 0 0 if $debug
439 0 518 if $debug
443 0 518 if (@methods < 2)
444 0 0 if $debug
449 0 518 if $debug
451 0 518 if ($type ne "zone" and $type ne "offset")
453 0 0 if $debug
459 0 518 if $debug
460 24 494 if (exists $ENV{$var}) { }
461 24 0 if ($type eq 'zone') { }
463 0 24 if $debug
466 0 0 if $debug
469 0 0 if $debug
473 0 494 if $debug
477 0 1976 unless (@methods)
478 0 0 if $debug
483 0 1976 if $debug
484 1976 0 unless (-f $file)
485 0 1976 if $debug
490 0 0 unless $in->open($file)
497 0 0 if $line =~ /^\s*\043/ or $line =~ /^\s*$/
499 0 0 if ($firstline)
534 0 0 if ($line =~ /^\s*(?:TZ|TIMEZONE|ZONE)\s*=\s*(.*)\s*$/)
537 0 0 unless $val
539 0 0 if ($val =~ /^(["'])(.*?)\1/) { }
0 0 elsif ($val =~ /\s/) { }
541 0 0 unless $z
560 0 0 if @z
562 0 0 if ($debug)
563 0 0 if (@zone) { }
571 0 0 if (@methods < 2)
572 0 0 if $debug
578 0 0 if $debug
581 0 0 if (-f $file and -d $dir)
584 0 0 if (defined $z) { }
0 0 elsif ($debug) { }
586 0 0 if $debug
592 0 494 unless (@methods)
593 0 0 if $debug
598 0 494 if $debug
600 494 0 if $out
602 0 494 if ($debug)
603 0 0 if ($out) { }
611 0 0 if ($#methods < 1)
612 0 0 if $debug
618 0 0 if $debug
622 0 0 if ($out)
626 0 0 if defined $out[$n]
630 0 0 if ($debug)
631 0 0 if ($val) { }
639 0 0 if $debug
642 0 0 if ($mdayUT > $mday + 1) { }
0 0 elsif ($mdayUT < $mday - 1) { }
656 0 0 if $debug
659 0 0 if $debug
661 0 0 if ($z) { }
663 0 0 if $debug
665 0 0 if $debug
669 0 0 if $debug
682 518 0 if $currzone
685 0 0 if (exists $self->{'data'}{'Abbrev'}{$zone})
693 0 0 if $currzone
697 0 518 unless ($currzone)
720 0 0 unless -d $zoneinfo and -f $localtime
723 0 0 if (-l $localtime)
737 0 0 if eval { do { require File::Find; File::Find::find({"wanted", \&Date::Manip::TZ::_zoneinfo_find_file, "no_chdir", 1}, $zoneinfo); 1 } }
749 0 0 if ref $@
755 0 0 if defined($zone = _zoneinfo_file_name_to_zone($File::Find::name, $zoneinfo)) and -f $_ and $want_size == -s _ and $want_content eq _zoneinfo_file_slurp($File::Find::name)
769 0 0 if exists $Date::Manip::Zones::ZoneNames{lc $zone} or exists $Date::Manip::Zones::Alias{lc $zone}
775 0 0 unless open my $fh, "<", $file
787 0 0 unless my $lmachine = "Win32::TieRegistry"->new("LMachine", {"Access", Win32::TieRegistry::KEY_READ(), "Delimiter", "/"})
799 0 0 if (defined $tzkn and $tzkn)
805 0 0 if ($i != -1)
809 0 0 if $z
818 0 0 if $z
826 0 0 unless (defined $atz and $atz)
830 0 0 unless defined $atz and $atz
835 0 0 if $znam eq $stdnam
849 0 494 unless open IN, "$cmd |"
864 1 61 unless (@args)
876 34 72 if (ref $arg eq 'ARRAY') { }
0 72 elsif (ref $arg) { }
877 34 0 if ($arg->$#* == 5) { }
0 0 elsif ($arg->$#* == 2) { }
879 0 34 if @$date
884 0 0 if $offset
886 0 0 unless $offset
898 11 61 if ($arg =~ /^(std|dst|stdonly|dstonly)$/) { }
15 46 elsif ($tmp = $self->_zone($arg)) { }
13 33 elsif (exists $self->{'data'}{'MyAbbrev'}{$arg} or exists $self->{'data'}{'Abbrev'}{$arg}) { }
30 3 elsif ($tmp = $dmb->split('offset', $arg)) { }
0 3 elsif ($tmp = $dmb->split('date', $arg)) { }
899 0 11 if $dstflag
903 0 15 if $zone
908 0 13 if $abbrev
912 0 30 if $offset
916 0 0 if $date
948 3 68 unless ($zone or $abbrev or $offset)
961 70 12 if $offset and @$date and not $dstflag
964 4 560 if ($dstflag eq 'stdonly') { }
4 556 elsif ($dstflag eq 'dstonly') { }
71 485 elsif ($dstflag eq 'dst') { }
977 376 188 if ($zone and not $abbrev)
978 376 0 if (exists $self->{'data'}{'Alias'}{$zone}) { }
0 0 elsif (exists $self->{'data'}{'MyAbbrev'}{$zone} or exists $self->{'data'}{'Abbrev'}{$zone}) { }
989 376 188 if ($zone)
991 376 0 exists $self->{'data'}{'Alias'}{$zone} ? :
997 117 447 if ($abbrev)
999 8 109 if (exists $self->{'data'}{'MyAbbrev'}{$abbrev}) { }
109 0 elsif (exists $self->{'data'}{'Abbrev'}{$abbrev}) { }
1008 154 80 if (@tmp)
1009 37 117 if (@z) { }
1017 0 117 if (@zone) { }
1022 0 117 unless @zone
1027 82 482 if ($offset)
1028 1 81 unless exists $self->{'data'}{'Offmod'}{$offset}
1037 28 127 if ($abbrev) { }
1040 125 2 if $tmp
1043 134 21 if (@tmp)
1044 55 79 if (@z) { }
1052 14 67 if (@zone) { }
1057 2 79 unless @zone
1062 536 25 if (@$date)
1072 0 536 if $dstflag eq "stdonly"
1073 0 536 if $dstflag eq "dstonly"
1077 854 3246 unless exists $self->{'data'}{'Zones'}{$z}{'Loaded'}
1082 722 2214 if $abbrev ne "" and lc $abbrev ne lc $period->[4] or $offset ne "" and $offset ne $period->[2] or $isdst ne "" and $isdst ne $period->[5] or $dmb->cmp($date, $period->[1]) == -1 or $dmb->cmp($date, $period->[7]) == 1
1093 9 527 unless @zone
1101 27 536 if (wantarray)
1109 9 527 unless @zone
1122 583 3003 unless exists $self->{'data'}{'Zones'}{$zone}{'Loaded'}
1128 327287 1830 if lc $abbrev ne lc $abb or $isdst != $dst
1147 127 676 unless exists $self->{'data'}{'Zones'}{$zone}{'Loaded'}
1153 7105 185 if lc $abbrev ne lc $abb or $offset ne $off or $isdst != $dst
1173 182 39 if exists $list2{$ele}
1186 482 1288 if exists $list1{$ele}
1201 0 7 unless ($z)
1206 0 7 unless exists $self->{'data'}{'Zones'}{$zone}{'Loaded'}
1225 3142 31203 unless (exists $self->{'data'}{'Zones'}{$zone}{'AllDates'}{$year})
1234 5 3137 if ($year > $self->{'data'}{'LastYear'} and exists $self->{'data'}{'Zones'}{$zone}{'LastRule'}{'zone'}) { }
1242 113985 2218 if ($y < $year)
1246 1889 329 if $year == $y
1250 3 3139 unless $ym1
1260 3139 3 if ($ym1)
1262 3139 0 if @tmp
1269 1894 1248 if ($ym0)
1283 0 8 unless ($z)
1288 1 7 unless exists $self->{'data'}{'Zones'}{$zone}{'Loaded'}
1290 7 1 unless (defined $year1)
1294 1 0 unless defined $year
1299 1 0 if ($year <= $lastyear)
1302 1 3 if $y > $year1 or $y > $lastyear
1303 0 3 if $y < $year
1308 0 1 if ($year1 > $lastyear)
1309 0 0 if $year <= $lastyear
1322 12 5031 unless (exists $self->{'data'}{'Zones'}{$zone}{'Dates'}{$year})
1325 11 1 if ($year > $self->{'data'}{'LastYear'})
1345 5549 24689 unless $wallclock
1346 29956 282 unless $isdst
1349 0 30238 unless ($z)
1354 61 30177 unless exists $self->{'data'}{'Zones'}{$zone}{'Loaded'}
1360 0 30238 if $year < 0 or $year > 9999
1362 24689 5549 if ($wallclock) { }
1368 0 24689 if (($dates cmp $beg) == -1) { }
0 24689 elsif (($dates cmp $end) == 1) { }
1378 24721 45335 if (($dates cmp $begLTs) != -1 and ($dates cmp $endLTs) != 1)
1383 8 24681 if ($#per == -1) { }
24641 40 elsif ($#per == 0) { }
40 0 elsif ($#per == 1) { }
1388 19 21 if ($per[0][5] == $isdst) { }
1405 5549 209 if (($dates cmp $begUTs) != -1 and ($dates cmp $endUTs) != 1)
1436 0 22 unless @mon
1470 11 22 if $endonly
1472 11 11 if (@period)
1476 11 11 $isdst ? :
1510 0 2861 if $err
1514 0 2861 unless ($from)
1523 0 12 if $err
1527 7 5 unless ($to)
1536 0 27 if $err
1540 0 27 unless ($from)
1549 0 0 if $err
1553 0 0 unless ($to)
1562 7 2893 if ($#args == -1) { }
178 2715 elsif ($#args == 0) { }
2715 0 elsif ($#args == 1) { }
1565 0 178 if ($args[0] eq '0' or $args[0] eq '1') { }
1584 5736 1 if (ref $date) { }
1588 0 1 unless defined $split
1593 5737 0 if ($from ne $to)
1595 0 5737 unless ($tmp)
1601 0 5737 unless ($tmp)
1607 189 5548 if ($from eq $to)
1616 5548 0 if ($from ne "Etc/GMT")
1618 2 5546 unless ($per)
1631 5546 0 if ($to ne "Etc/GMT")
1666 471 81 if defined $self->{'data'}{$re}
1671 0 81 if (exists $ENV{'DATE_MANIP_DEBUG_ZONES'}) { }
1693 0 81 if (exists $ENV{'DATE_MANIP_DEBUG_ABBREVS'}) { }
1761 0 388 if ($var eq 'tz') { }
171 217 elsif ($var eq 'setdate') { }
190 27 elsif ($var eq 'forcedate') { }
27 0 elsif ($var eq 'configfile') { }
1763 0 0 if $err
1769 0 171 if $err
1775 0 190 if $err
1805 271 90 if ($val =~ /^now$dstrx$zonrx$/io) { }
0 90 elsif ($val =~ /^zone$dstrx$zonrx$/io) { }
90 0 elsif ($val =~ /^$da1rx$dstrx$zonrx$/o or $val =~ /^$da2rx$dstrx$zonrx$/o) { }
0 0 elsif ($val =~ /^$da1rx$/o or $val =~ /^$da2rx$/o) { }
0 0 elsif (lc $val eq 'now') { }
1856 361 0 unless $dstflag
1862 271 90 if ($op eq 'nowzone') { }
0 90 elsif ($op eq 'zone') { }
1883 361 0 if ($zone) { }
1886 0 361 unless defined $date
1888 0 361 unless ($zone)
1902 361 0 if ($dstflag eq 'std') { }
0 0 elsif ($dstflag eq 'stdonly') { }
0 0 elsif ($dstflag eq 'dst') { }
1912 361 0 if ($op eq 'nowzone' or $op eq 'datezone' or $op eq 'date') { }
0 0 elsif ($op eq 'zone') { }
1919 361 361 if $per
1923 0 361 unless ($per)
1936 0 0 if ($err)
1956 190 171 if ($force) { }