Branch Coverage

lib/Parse/File/Taxonomy/Path.pm
Criterion Covered Total %
branch 68 72 94.4


line true false branch
173 2 38 unless ref $args and reftype $args eq 'HASH'
175 1 37 unless $$args{'file'} or $$args{'components'}
177 1 36 if $$args{'file'} and $$args{'components'}
180 4 32 if (exists $$args{'path_col_idx'})
181 1 3 unless $$args{'path_col_idx'} =~ /^\d+$/
185 4 31 exists $$args{'path_col_sep'} ? :
188 4 31 if (exists $$args{'path_col_sep'}) { }
196 23 12 if ($$args{'components'}) { }
197 2 21 unless ref $$args{'components'} and reftype($$args{'components'}) eq 'HASH'
200 2 37 unless exists $$args{'components'}{$k}
202 3 34 unless ref $$args{'components'}{$k} and reftype($$args{'components'}{$k}) eq 'ARRAY'
207 2 185 unless ref $row and reftype $row eq 'ARRAY'
221 1 11 unless -f $$args{'file'}
229 0 11 unless my $csv = 'Text::CSV'->new($args)
231 0 11 unless open my $IN, '<', $$data{'file'}
237 0 9 unless close $IN
249 11 14 if (not $components) { }
265 14 11 $components ? :
269 2 23 if $$data{'path_col_idx'} > $#{$fields_ref;}
282 4 271 if ($this_row_count != $field_count)
289 4 265 if $paths_seen{$path} > 1
298 2 19 if @dupe_paths
306 2 17 if @bad_count_records
311 0 17 unless my $path_csv = 'Text::CSV'->new($path_args)
317 149 68 if (@columns > 2)
320 4 145 unless (exists $paths_seen{$parent})
332 2 15 if scalar keys %missing_parents
561 130 26 if ($i != $$self{'path_col_idx'}) { }
607 390 78 if ($i != $$self{'path_col_idx'}) { }
674 104 1144 if $other_node =~ /^\Q$node$$self{'path_col_sep'}\E/
712 2 4 unless exists $$child_counts{$node}
804 8 1 if (defined $args)
805 2 6 unless ref $args and reftype $args eq 'HASH'
813 39 52 if ($$args{'root_str'}) { }
817 26 26 if ($$args{'remove_leading_path_col_sep'}) { }
824 52 39 if ($$args{'key_delim'})