Branch Coverage

blib/lib/Time/Zone/Olson.pm
Criterion Covered Total %
branch 198 258 76.7


line true false branch
92 1 78 if (defined $params->{'offset'}) { }
104 79 7741 if (@_ > 1)
113 2 4164 if (@_ > 1)
127 179 140 if ($transition_time >= $from_time)
134 219 207 if ($transition_time >= $from_time)
139 1 2 if (scalar keys %offsets_compare == scalar keys %offsets_self)
142 43 0 if (defined $offsets_self{$transition_time} and $offsets_self{$transition_time} == $offsets_compare{$transition_time}) { }
161 0 46 unless my $handle = 'FileHandle'->new($path)
163 0 46 unless my(@stat) = stat $handle
166 41 5 if ($self->{'_zonetab_last_modified'} and $self->{'_zonetab_last_modified'} == $last_modified) { }
2 3 elsif ($_zonetab_cache->{'_zonetab_last_modified'} and $_zonetab_cache->{'_zonetab_last_modified'} == $last_modified) { }
182 72 1248 if $line =~ /^[#]/msx
189 0 3 unless close $handle
205 9152 0 if ($timezone =~ /^$timezone_full_name_regex$/msx) { }
219 0 22 unless (length $area)
225 9152 0 if ($timezone =~ /^$timezone_full_name_regex$/msx) { }
226 856 0 if ($area eq $Time::Zone::Olson::LAST_PAREN_MATCH{'area'} and $Time::Zone::Olson::LAST_PAREN_MATCH{'location'})
245 2 0 if (defined $self->{'_comments'}{$tz}) { }
266 567 15476 if (@_ > 1)
267 565 2 if (defined $new)
269 0 565 unless ($new =~ /^$timezone_full_name_regex$/msx)
276 0 565 unless (-f $path)
290 31081 91897 if ($year % _EVERY_FOUR_HUNDRED_YEARS() == 0 or $year % _EVERY_FOUR_YEARS() == 0 and $year % _EVERY_ONE_HUNDRED_YEARS() != 0) { }
307 13 0 if (defined $tz_definition->{'start_day'} and defined $tz_definition->{'end_day'} and defined $tz_definition->{'start_week'} and defined $tz_definition->{'end_week'} and defined $tz_definition->{'start_month'} and defined $tz_definition->{'end_month'})
338 0 13 if ($dst_start_time < $dst_end_time) { }
339 0 0 if ($dst_start_time < $check_time and $check_time < $dst_end_time)
346 13 0 if ($check_time < $dst_start_time or $dst_end_time < $check_time)
366 442 1300 if ($self->_is_leap_year($check_year)) { }
387 0 26 if ($week == _LAST_WEEK_VALUE()) { }
397 0 0 if ($check_day_of_week < 0)
425 0 799 if (defined $self->offset)
431 799 0 if (defined $tz_definition->{'std_name'})
432 13 786 if (defined $tz_definition->{'dst_name'}) { }
433 13 0 if ($self->_in_dst_according_to_tz($time, $tz_definition)) { }
464 3024 81 if ($check_time - $increment > $time) { }
482 660 81 if ($check_time - $increment > $time) { }
497 1125 81 if ($check_time - $increment > $time) { }
513 1689 81 if ($check_time - $increment > $time) { }
524 3237 81 if ($check_time - $increment > $time) { }
548 82156 2074 if ($check_time + $increment <= $time) { }
566 9654 2074 if ($check_time + $increment <= $time) { }
579 27412 2074 if ($check_time + $increment <= $time) { }
595 10583 2074 if ($check_time + $increment <= $time) { }
606 52779 2074 if ($check_time + $increment <= $time) { }
622 81 2074 if ($time < 0) { }
628 2152 3 if (wantarray) { }
640 817 27 if ($localtime[_LOCALTIME_YEAR_INDEX()] >= _EPOCH_YEAR()) { }
656 32893 817 if ($check_year < $localtime[_LOCALTIME_YEAR_INDEX()]) { }
671 3543 817 if ($check_month < $localtime[_LOCALTIME_MONTH_INDEX()]) { }
681 11184 817 if ($check_day < $localtime[_LOCALTIME_DAY_INDEX()]) { }
694 4754 817 if ($check_hour < $localtime[_LOCALTIME_HOUR_INDEX()]) { }
704 22430 817 if ($check_minute < $localtime[_LOCALTIME_MINUTE_INDEX()]) { }
723 1676 1349 $leap_year ? :
744 30125 91192 if ($leap_year) { }
760 1008 27 if ($check_year > $localtime[_LOCALTIME_YEAR_INDEX()]) { }
775 220 27 if ($check_month > $localtime[_LOCALTIME_MONTH_INDEX()]) { }
785 375 27 if ($check_day > $localtime[_LOCALTIME_DAY_INDEX()]) { }
798 563 27 if ($check_hour > $localtime[_LOCALTIME_HOUR_INDEX()]) { }
808 1106 27 if ($check_minute > $localtime[_LOCALTIME_MINUTE_INDEX()]) { }
827 3353 0 if (defined $self->{'_tzdata'}{$tz}{'local_time_types'}[0])
835 0 3353 if ($local_time_type->{'isdst'}) { }
847 2 842 if (defined $self->offset)
862 842 50363 unless (defined $first_transition_time)
869 25045 26160 if ($local_time_type->{'gmtoff'} < $previous_offset) { }
870 210 24835 if ($transition_time_in_gmt > $time - $previous_offset and $transition_time_in_gmt <= $time - $local_time_type->{'gmtoff'}) { }
276 24559 elsif ($transition_time_in_gmt > $time - $local_time_type->{'gmtoff'}) { }
887 92 26068 if ($transition_time_in_gmt > $time - $local_time_type->{'gmtoff'})
897 1 841 if (defined $first_transition_time and $first_standard_time_type and $time < $first_transition_time + $first_standard_time_type->{'gmtoff'}) { }
264 577 elsif (not $transition_time_found) { }
912 264 0 if (defined $gmtoff)
916 265 577 if ($offset_found) { }
577 0 elsif (defined $self->{'_tzdata'}{$tz}{'local_time_indexes'}[$transition_index - 1]) { }
941 4 2511 if (defined $self->offset)
952 2511 168894 unless (defined $first_transition_time)
955 1976 169429 if ($transition_time_in_gmt > $time)
963 3 2508 if (defined $first_transition_time and $time < $first_transition_time) { }
535 1973 elsif (not $transition_time_found) { }
974 535 0 if (defined $gmtoff)
978 538 1973 if ($offset_found) { }
1973 0 elsif (defined $self->{'_tzdata'}{$tz}{'local_time_indexes'}[$transition_index - 1]) { }
1002 0 399 unless (defined $time)
1012 0 2116 unless (defined $time)
1020 2113 3 if (wantarray) { }
1049 974 0 if (defined $result) { }
1050 0 974 if ($result != _SIZE_OF_TZ_HEADER())
1062 0 974 unless $magic eq 'TZif'
1081 974 0 if (defined $result) { }
1082 0 974 if ($result != $sizeof_transition_times)
1093 487 487 if ($sizeof_transition_time == _SIZE_OF_TRANSITION_TIME_V1()) { }
487 0 elsif ($sizeof_transition_time == _SIZE_OF_TRANSITION_TIME_V2()) { }
1097 0 487 unless (eval { do { @transition_times = unpack('q>' . $timecnt, $buffer); 1 } })
1110 974 0 if (defined $result) { }
1111 0 974 if ($result != $timecnt)
1129 974 0 if (defined $result) { }
1130 0 974 if ($result != $sizeof_local_time_types)
1155 974 0 if (defined $result) { }
1156 0 974 if ($result != $charcnt)
1174 974 0 if (defined $result) { }
1175 0 974 if ($result != $sizeof_leap_seconds)
1198 974 0 if (defined $result) { }
1199 0 974 if ($result != $ttisstdcnt)
1217 974 0 if (defined $result) { }
1218 0 974 if ($result != $ttisgmtcnt)
1236 487 0 if (defined $result) { }
1237 0 487 if ($result == _MAX_LENGTH_FOR_TRAILING_TZ_DEFINITION())
1248 486 1 if ($buffer =~ /^\n([^\n]+)\n*$/msx)
1311 486 0 if ($tz_variable =~ /^$std_name_regex$std_offset_regex(?:$dst_name_regex(?:$dst_offset_regex)?,$start_datetime_regex,$end_datetime_regex)?$/msx) { }
1320 3046 9590 if (defined $Time::Zone::Olson::LAST_PAREN_MATCH{$key})
1340 0 486 if (defined $tz_definition->{'dst_minutes'})
1344 2 484 if (defined $tz_definition->{'dst_hours'})
1350 2 484 if (defined $tz_definition->{'dst_sign'} and $tz_definition->{'dst_sign'} eq '-') { }
1357 484 2 if ($dst_offset_in_seconds == 0)
1368 16 470 if (defined $tz_definition->{'std_minutes'})
1372 486 0 if (defined $tz_definition->{'std_hours'})
1378 294 192 if (defined $tz_definition->{'std_sign'} and $tz_definition->{'std_sign'} eq '-') { }
1393 41 445 defined $tz_definition->{'start_hour'} ? :
1397 1 485 defined $tz_definition->{'start_minute'} ? :
1401 0 486 defined $tz_definition->{'start_second'} ? :
1405 149 337 defined $tz_definition->{'end_hour'} ? :
1409 1 485 defined $tz_definition->{'end_minute'} ? :
1413 0 486 defined $tz_definition->{'end_second'} ? :
1423 4288 974 if ($self->{'_tzdata'}{$tz}{'local_time_types'}[$index + 1]) { }
1467 487 0 if ($header->{'version'} and $header->{'version'} >= 2 and defined $Time::Zone::Olson::Config{'d_quad'} and $Time::Zone::Olson::Config{'d_quad'} eq 'define')
1503 0 7129 unless my $handle = 'FileHandle'->new($path)
1505 0 7129 unless my(@stat) = stat $handle
1508 6567 562 if ($self->{'_tzdata'}{$tz}{'last_modified'} and $self->{'_tzdata'}{$tz}{'last_modified'} == $last_modified) { }
75 487 elsif ($_tzdata_cache->{$tz} and $_tzdata_cache->{$tz}{'last_modified'} and $_tzdata_cache->{$tz}{'last_modified'} == $last_modified) { }
1526 0 7129 unless close $handle
1533 71 71 if (ref $self) { }