Branch Coverage

blib/lib/Parse/FixedLength.pm
Criterion Covered Total %
branch 120 178 67.4


line true false branch
19 1 3 if $_ eq ':all'
21 0 3 if $@
28 0 1 if $@
32 10 1 unless -d $pfl_dir
33 0 1 unless opendir DIR, $pfl_dir
36 2 1 unless $module =~ s/\.pm$//
49 1 26 unless (ref $format)
52 0 1 unless $@
53 0 1 unless $@ =~ /Can't locate object method/
58 0 26 unless UNIVERSAL::isa($format, 'ARRAY')
62 0 26 if defined $params and not UNIVERSAL::isa($params, 'HASH')
64 4 22 exists $$params{'delim'} ? :
67 0 26 unless CORE::length $delim == 1
68 1 25 if (exists $$params{'all_lengths'})
70 0 1 unless $all and $all =~ /^\d+$/ and $all > 0
76 0 26 $$params{'spaces'} ? :
81 12 14 if $is_hsh
92 13 9 if (%$justify)
94 13 0 unless $$params{'no_justify'}
96 1 12 if $$params{'trim'}
100 0 0 ref $$params{'debug'} ? :
0 22 exists $$params{'debug'} ? :
107 22 0 unless $$params{'no_bless'}
119 12 14 unless $$format[0] =~ /$delim/
120 0 26 if $is_hsh and @$format % 2
124 98 88 if ($field =~ /$delim/) { }
125 0 98 if $is_hsh and not $i % 2
126 0 88 unless $is_hsh
136 6 20 if ($dups_ok)
137 5 1 if (UNIVERSAL::isa($dups_ok, 'ARRAY')) { }
145 105 6 unless $$params{'no_validate'}
153 106 2 if ($tmp_len =~ /^\d/) { }
2 0 elsif ($tmp_len =~ /^(\w)((?:\d+)?)$/) { }
154 0 106 unless my($len, $is_just, $chr) = $tmp_len =~ /^(\d+)((?:R(.?))?)$/
156 0 106 unless $len > 0
157 100 6 unless ($$params{'no_validate'})
158 35 65 if (defined $end)
159 1 34 unless $end == $start + $len - 1
163 8 6 $chr eq '' ? :
14 91 if $is_just
167 40 65 if defined $end
168 0 105 $$params{'spaces'} ? :
179 2 0 unless ($$params{'no_validate'})
180 2 0 if (defined $end)
181 0 2 unless $end == $start + $len - 1
188 2 0 if defined $end
191 0 0 unless (eval { do { my(@foo) = unpack($tmp_len, 'junk'); die 'Too Many fields' unless @foo == 1; 1 } })
193 0 0 unless @foo == 1
210 8 102 if (exists $$lengths{$name}) { }
211 2 5 unless $dups_ok and $all_dups_ok || exists $$dups{$name}
213 100 2 unless $$dups{$name}
215 6 2 unless ($$dups{$name})
217 0 6 if exists $$lengths{$new_name}
218 6 12 if $_ eq $name
223 0 6 if (exists $$justify{$name})
233 40 65 if (defined $start)
234 0 40 unless $start =~ /^\d+$/
235 1 39 unless $start == $prev
236 0 39 unless defined $end
237 0 39 unless $end =~ /^\d+$/
238 0 39 if $end < $start
247 13 48 if (exists $$parser{'JFIELDS'}{$name})
262 1 17 if $$parser{'TRIM'}
263 0 18 if (my $fh = $$parser{'DEBUG'})
270 0 18 wantarray ? :
283 7 0 if ($$parser{'JUST'})
286 5 2 if $chr ne ' '
293 0 7 if ($$parser{'DEBUG'})
306 1 0 if (ref $_[0]) { }
318 19 8 @_ ? :
347 0 0 $$parser{'IS_HSH'} ? :
0 0 $pos_comment ? :
353 0 0 $$jfields{$name} eq ' ' ? :
0 0 exists $$jfields{$name} ? :
383 0 6 unless UNIVERSAL::isa($mappings, 'ARRAY') or UNIVERSAL::isa($mappings, 'HASH')
386 6 0 UNIVERSAL::isa($mappings, 'HASH') ? :
390 0 6 unless UNIVERSAL::isa($defaults, 'HASH')
394 0 19 unless not ref $default or UNIVERSAL::isa($default, 'CODE')
396 13 6 ref $default ? :
400 1 5 if $$parms{'no_pack'}
407 2 5 @_ ? :
411 7 0 unless UNIVERSAL::isa($data_in, 'HASH')
417 15 14 exists $$data_in{$_} ? :
7 29 exists $$map_to{$_} ? :
428 0 15 if $@
430 2 5 $no_pack ? :
440 0 5 unless my($class, $method) = $Parse::FixedLength::HashAsObj::AUTOLOAD =~ /^(.*)::(.+)$/
442 0 5 unless exists $_[0]{$method}
446 0 8 if (@_)