Branch Coverage

blib/lib/Data/EDI/X12.pm
Criterion Covered Total %
branch 108 164 65.8


line true false branch
245 0 3 if ($args->{'spec'}) { }
0 3 elsif ($args->{'yaml_spec'}) { }
3 0 elsif ($args->{'spec_file'}) { }
269 0 0 if $spec->{'config'} and $spec->{'config'}{'config_terminator'}
273 0 0 if $spec->{'config'} and $spec->{'config'}{'config_separator'}
277 0 0 if $spec->{'config'} and exists $spec->{'config'}{'strict_ascii'}
281 0 0 if $spec->{'config'} and exists $spec->{'config'}{'truncate_null'}
285 0 0 if $spec->{'config'} and exists $spec->{'config'}{'hide_empty_sections'}
289 0 0 if $spec->{'config'} and exists $spec->{'config'}{'auto_configure'}
320 1 2 if ($self->{'auto_configure'})
330 3 0 unless $self->{'terminator'} =~ /[\r\n]/
389 0 44 unless $definition
395 190 37 if $def->{'name'}
439 3 0 unless exists $record->{'GROUPS'}
445 3 50 if ($type eq 'ISA') { }
3 47 elsif ($type eq 'IEA') { }
3 44 elsif ($type eq 'GS') { }
3 41 elsif ($type eq 'GE') { }
3 38 elsif ($type eq 'ST') { }
3 35 elsif ($type eq 'SE') { }
550 0 105 unless $spec->{'structure'}{$section}
552 34 245 if (ref $segment and ref $segment eq 'HASH') { }
570 14 21 if ($section eq 'DETAIL') { }
0 21 elsif ($section eq 'HEADER' and $IN_DETAIL) { }
4 17 elsif ($section eq 'FOOTER') { }
0 34 elsif ($section eq 'DETAIL' and $IN_FOOTER) { }
592 35 0 if (my $type_def = $spec->{'segments'}{uc $type})
594 16 19 if ($section eq 'DETAIL' or $LOOP_SECTION eq 'DETAIL') { }
597 3 13 unless exists $current_record->{'DETAIL'}
600 1 15 if ($loop_def{$type} and not $IN_LOOP)
604 0 1 unless $loop_def{$type}
608 1 15 if ($IN_LOOP and not $LOOP_SEGMENTS{$type})
615 4 12 if ($IN_LOOP) { }
618 1 3 unless exists $current_record->{'DETAIL'}[-1]{$IN_LOOP}
621 1 3 if exists $current_record->{'DETAIL'}[-1]{$IN_LOOP}[-1]{$type}
632 3 9 if exists $current_record->{'DETAIL'}[-1]{$type}
644 7 12 unless exists $current_record->{$section}
649 1 18 if ($IN_LOOP and not $LOOP_SEGMENTS{$type})
657 1 18 if ($loop_def{$type} and not $IN_LOOP)
661 0 1 unless $loop_def{$type}
665 4 15 if ($IN_LOOP) { }
668 1 3 unless exists $current_record->{$LOOP_SECTION}{$IN_LOOP}
671 1 3 if exists $current_record->{$LOOP_SECTION}{$IN_LOOP}[-1]{$type}
703 0 53 unless $type_def->{'definition'}
705 0 245 unless ref $record eq 'HASH'
708 208 37 $def->{'name'} && exists $$record{$def->{'name'}} ? :
710 31 214 unless defined $value
716 0 140 if $value ne '' and not $def->{'bytes'} and $def->{'min'} and length $value < $def->{'min'}
719 72 173 if $def->{'bytes'}
725 110 135 if $def->{'max'}
728 209 36 if $value
729 209 36 if $value
732 0 245 if $self->{'strict_ascii'}
738 53 0 if ($self->{'truncate_null'})
742 53 3 if $val ne ''
750 53 0 if $self->{'new_lines'}
772 0 3 unless exists $record->{'ISA'}{'control_number'}
783 0 3 unless $record->{'GROUPS'}
787 0 3 unless exists $group->{'control_number'}
798 0 3 unless $group->{'SETS'}
803 0 3 if ($self->{'spec'}{'RECORD_OFFSET_COUNT'})
811 0 3 unless exists $set->{'control_number'}
825 0 3 unless $spec
829 0 3 unless $spec->{'structure'}{'header'}
831 1 11 if (ref $section and ref $section eq 'HASH') { }
836 0 1 unless $set->{'HEADER'}{$loop_name}
838 0 2 unless $loop_structure
840 0 4 if $hide_empty_sections and not exists $record->{$structure}
854 0 11 if $hide_empty_sections and not exists $set->{'HEADER'}{$section}
866 0 3 unless $set->{'DETAIL'}
868 0 6 unless $spec->{'structure'}{'detail'}
870 2 12 if (ref $section and ref $section eq 'HASH') { }
875 1 1 unless $detail->{$loop_name}
877 0 2 unless $loop_structure
879 0 4 if $hide_empty_sections and not exists $sub_record->{$structure}
892 0 12 if $hide_empty_sections and not exists $detail->{$section}
906 0 3 unless $spec->{'structure'}{'footer'}
908 0 4 if (ref $section and ref $section eq 'HASH') { }
913 0 0 unless $set->{'FOOTER'}{$loop_name}
915 0 0 unless $loop_structure
917 0 0 if $hide_empty_sections and not exists $record->{$structure}
930 0 4 if $hide_empty_sections and not exists $set->{'FOOTER'}{$section}