Branch Coverage

lib/SIRTX/Datecode.pm
Criterion Covered Total %
branch 60 136 44.1


line true false branch
28 0 87 unless defined $type and defined $data
30 1 86 if ($type eq "from")
31 0 1 if (eval { do { $data->isa('SIRTX::Datecode') } }) { }
0 1 elsif (eval { do { $data->generator->eq('97b7f241-e1c5-4f02-ae3c-8e31e501e1dc') if $data->isa('Data::Identifier') } }) { }
0 1 elsif (eval { do { $data->isa('DateTime') } }) { }
0 1 elsif (eval { do { $data->can('epoch') } }) { }
0 1 elsif ($data =~ /^[12][0-9]{3}(?:-[0-9]{2}(?:-[0-9]{2})?)?Z?$/u) { }
0 1 elsif ($data eq 'now') { }
1 0 elsif ($data eq 'null') { }
34 0 1 if $data->isa("Data::Identifier")
38 0 0 if ($data->time_zone->isa('DateTime::TimeZone::Floating')) { }
61 15 72 if ($type eq 'datecode' and $data =~ /^(0|[1-9][0-9]*)$/u) { }
0 72 elsif ($type eq 'epoch' and $data =~ /^-?(0|[1-9][0-9]*)$/u) { }
72 0 elsif ($type eq 'iso8601' and $data =~ /^[12][0-9]{3}(?:-[0-9]{2}(?:-[0-9]{2})?)?Z?$/u) { }
72 0 87 if scalar keys %opts
76 0 87 if $code == 1
85 0 1 if scalar @opts
101 0 158 if scalar @opts
114 0 72 if scalar @opts
116 0 72 if defined $self->{'iso8601'}
121 0 72 if ($code == 0) { }
6 66 elsif ($code < 324) { }
18 48 elsif ($code < 1299) { }
24 24 elsif ($code < 31714) { }
18 6 elsif ($code < 32442) { }
133 18 6 if ($code)
146 72 0 if ($year)
150 40 32 if ($month)
153 10 30 if ($day)
159 36 36 if $utc
169 0 0 unless defined $as
171 0 0 if $as eq "SIRTX::Datecode"
173 0 0 if $self->is_null
175 0 0 if ($as eq "DateTime")
182 0 0 $self->is_utc ? :
185 0 0 unless $self->is_utc
187 0 0 unless (defined $self->{'Data::Identifier'})
192 0 0 if $as eq "Data::Identifier" and scalar keys %opts == 0
201 0 0 if scalar @opts
204 0 0 if (not defined $dc) { }
0 0 elsif (not eval { do { $dc->isa(__PACKAGE__) } }) { }
218 0 0 if scalar @opts
221 0 0 if (not defined $dc) { }
0 0 elsif (not eval { do { $dc->isa(__PACKAGE__) } }) { }
235 0 0 if scalar @opts
250 0 1 if scalar @opts
259 0 0 if scalar @opts
261 0 0 unless ($self->{'datecode'} >= 0 and $self->{'datecode'} <= 65535)
273 0 0 if scalar @opts
275 0 0 if ($iso_len <= 1) { }
0 0 elsif ($iso_len <= 5) { }
0 0 elsif ($iso_len <= 8) { }
0 0 elsif ($iso_len <= 11) { }
313 0 0 if scalar keys %opts
326 40 32 defined $month && length $month ? :
327 10 62 defined $day && length $day ? :
329 32 40 unless $month
331 0 72 if ($year < 1582) { }
6 66 elsif ($year >= 1582 and $year <= 1904) { }
18 48 elsif ($year <= 1979) { }
24 24 elsif ($year <= 2058) { }
18 6 elsif ($year <= 2114) { }
338 18 6 $month ? :
345 72 0 if (defined $code)
347 36 36 $utc ? :
360 0 0 if scalar keys %opts
364 0 0 if defined $self->{$part}
366 0 0 if $has_default