File Coverage

blib/lib/DateTimeX/Lite/TimeZone/OffsetOnly.pm
Criterion Covered Total %
statement 21 24 87.5
branch 4 4 100.0
condition n/a
subroutine 8 11 72.7
pod 6 7 85.7
total 39 46 84.7


line stmt bran cond sub pod time code
1              
2             package DateTimeX::Lite::TimeZone::OffsetOnly;
3              
4 56     56   356 use strict;
  56         118  
  56         2344  
5              
6 56     56   309 use DateTimeX::Lite::TimeZone;
  56         109  
  56         1614  
7 56     56   276 use base 'DateTimeX::Lite::TimeZone';
  56         98  
  56         6081  
8              
9 56     56   35537 use DateTimeX::Lite::TimeZone::UTC;
  56         138  
  56         14792  
10              
11             sub new {
12 205     205 1 134337 my ($class, %p) = @_;
13              
14 205         818 my $offset =
15             DateTimeX::Lite::TimeZone::offset_as_seconds( $p{offset} );
16              
17 205 100       1305 die "Invalid offset: $p{offset}\n" unless defined $offset;
18              
19 48 100       152 return DateTimeX::Lite::TimeZone::UTC->new unless $offset;
20              
21 39         137 my $self = { name => DateTimeX::Lite::TimeZone::offset_as_string( $offset ),
22             offset => $offset,
23             };
24              
25 39         266 return bless $self, $class;
26             }
27              
28 0     0 0 0 sub is_dst_for_datetime { 0 }
29              
30 119     119 1 1580 sub offset_for_datetime { $_[0]->{offset} }
31 104     104 1 380 sub offset_for_local_datetime { $_[0]->{offset} }
32              
33 16110     16110 1 81916 sub is_utc { 0 }
34              
35 0     0 1   sub short_name_for_datetime { $_[0]->name }
36              
37 0     0 1   sub category { undef }
38              
39             1;
40              
41             __END__