Branch Coverage

blib/lib/Perinci/Sub/CoerceArgs.pm
Criterion Covered Total %
branch 82 112 73.2


line true false branch
33 2 4 if ($val =~ /\A\d{8,}\z/) { }
3 1 elsif ($val =~ m[\A (\d{4})[/-](\d{1,2})[/-](\d{1,2}) (?:[ Tt](\d{1,2}):(\d{1,2}):(\d{1,2}))? \z]x) { }
1 0 elsif (&blessed($val)) { }
54 0 1 if ($val->isa('DateTime')) { }
1 0 elsif ($val->isa('Time::Moment')) { }
59 0 1 $val->offset < 0 ? :
80 2 4 if ($val =~ /\A\d{8,}\z/) { }
3 1 elsif ($val =~ m[\A (\d{4})[/-](\d{1,2})[/-](\d{1,2}) (?:[ Tt](\d{1,2}):(\d{1,2}):(\d{1,2}))? \z]x) { }
1 0 elsif (&blessed($val)) { }
98 1 0 if ($val->isa('Time::Moment')) { }
0 0 elsif ($val->isa('DateTime')) { }
117 1 3 if (&looks_like_number($val)) { }
2 1 elsif ($val =~ m[\A (\d{4})[/-](\d{1,2})[/-](\d{1,2}) (?:[ Tt](\d{1,2}):(\d{1,2}):(\d{1,2}))? \z]x) { }
1 0 elsif (&blessed($val)) { }
134 0 1 if ($val->isa('DateTime')) { }
1 0 elsif ($val->isa('Time::Moment')) { }
154 2 4 if ($val =~ /\A\+?\d+(?:\.\d*)?\z/) { }
2 2 elsif ($val =~ /\AP (?:([0-9]+(?:\.[0-9]+)?)Y)? (?:([0-9]+(?:\.[0-9]+)?)M)? (?:([0-9]+(?:\.[0-9]+)?)W)? (?:([0-9]+(?:\.[0-9]+)?)D)? (?: T (?:([0-9]+(?:\.[0-9]+)?)H)? (?:([0-9]+(?:\.[0-9]+)?)M)? (?:([0-9]+(?:\.[0-9]+)?)S)? )?\z/x) { }
1 1 elsif (&blessed($val)) { }
1 0 elsif (eval { do { require Time::Duration::Parse::AsHash; $d = Time::Duration::Parse::AsHash::parse_duration($val) } } and not $@) { }
185 1 0 if ($val->isa('DateTime::Duration'))
214 1 3 if ($val =~ /\A\+?\d+(?:\.\d*)?\z/) { }
1 2 elsif ($val =~ /\AP (?:([0-9]+(?:\.[0-9]+)?)Y)? (?:([0-9]+(?:\.[0-9]+)?)M)? (?:([0-9]+(?:\.[0-9]+)?)W)? (?:([0-9]+(?:\.[0-9]+)?)D)? (?: T (?:([0-9]+(?:\.[0-9]+)?)H)? (?:([0-9]+(?:\.[0-9]+)?)M)? (?:([0-9]+(?:\.[0-9]+)?)S)? )?\z/x) { }
1 1 elsif (&blessed($val)) { }
1 0 elsif (eval { do { require Time::Duration::Parse::AsHash; $d = Time::Duration::Parse::AsHash::parse_duration($val) } } and not $@) { }
232 1 0 if ($val->isa('DateTime::Duration'))
288 0 40 unless my $meta = $fargs{'meta'}
289 39 1 unless ($fargs{'meta_is_normalized'})
297 0 40 unless defined $val
299 0 40 unless $arg_spec
301 5 35 if (my $filters = $arg_spec->{'filters'})
303 1 5 if (ref $filter eq 'CODE') { }
1 4 elsif ($filter eq 'trim') { }
2 2 elsif ($filter eq 'ltrim') { }
2 0 elsif ($filter eq 'rtrim') { }
317 5 0 if @$filters
320 40 0 if (my $schema = $arg_spec->{'schema'})
322 7 33 if ($schema->[0] eq 'obj') { }
16 17 elsif ($schema->[0] eq 'date') { }
12 5 elsif ($schema->[0] eq 'duration') { }
325 2 4 if ($class eq 'DateTime') { }
2 2 elsif ($class eq 'DateTime::Duration') { }
2 0 elsif ($class eq 'Time::Moment') { }
327 0 2 unless $coerce_res->[0] == 200
330 0 2 unless $coerce_res->[0] == 200
333 0 2 unless $coerce_res->[0] == 200
336 4 12 if ($coerce_to eq 'DateTime') { }
4 8 elsif ($coerce_to eq 'Time::Moment') { }
4 4 elsif ($coerce_to eq 'int(epoch)') { }
338 0 4 unless $coerce_res->[0] == 200
341 0 4 unless $coerce_res->[0] == 200
344 0 4 unless $coerce_res->[0] == 200
347 4 8 if ($coerce_to eq 'DateTime::Duration') { }
4 4 elsif ($coerce_to eq 'int(secs)') { }
349 0 4 unless $coerce_res->[0] == 200
352 0 4 unless $coerce_res->[0] == 200