Condition Coverage

blib/lib/SeaBASS/File.pm
Criterion Covered Total %
condition 110 165 66.6


and 3 conditions

line !l l&&!r l&&r condition
590 2473 77 2 $strict and not $_ =~ m[^/]
603 0 1 0 $strict and not $_ =~ m[^/]
829 73 280 73 $self->{'options'}{'cache'} and $self->{'dataidx'} < $self->{'max_dataidx'}
1032 1 10 3 $index <= $self->{'dataidx'} and $index != INSERT_END()
1079 3 2 0 not defined $index and $self->{'dataidx'} < 0
1165 5 2 12 defined $ret and defined wantarray
1232 2 34 0 defined $row->{$field} and !defined($missing) || $row->{$field} != $missing
1480 65 0 0 &firstidx(sub { $_ eq $header_no_slash; } , @ALL_HEADERS) < 0 and &firstidx(sub { $_ eq $header_no_slash; } , @HIDDEN_HEADERS) < 0
1498 0 14 0 not $write_to_h and exists $self->{'default_write_to'}
1543 12 0 1 $add_missing_headers and $add_missing_headers eq '1'
1576 2 10 1 not @{$self->{'comments'};} and $add_missing_headers
1705 57 124 756 $self->{'missing_is_number'} and &looks_like_number($v)
181 689 67 $self->{'missing_is_number'} and &looks_like_number($v) and $v == $self->{'missing'}
859 2 9 $self->{'adl_is_number'} and &looks_like_number($v)
861 8 1 $self->{'adl_is_number'} and &looks_like_number($v) and $v == $self->{'above_detection_limit'}
858 2 9 $self->{'bdl_is_number'} and &looks_like_number($v)
860 8 1 $self->{'bdl_is_number'} and &looks_like_number($v) and $v == $self->{'below_detection_limit'}
1791 0 4 104 ref $value eq 'ARRAY' and wantarray
4 0 0 ref $value eq 'HASH' and wantarray
2002 72 0 0 &firstidx(sub { $_ eq $header; } , @ALL_HEADERS) < 0 and &firstidx(sub { $_ eq $header; } , @HIDDEN_HEADERS) < 0
2170 2360 199 0 length $v == 0 and not $k =~ /_header/
2188 133 6 0 $strict and &firstidx(sub { "/$_" eq $k; } , @ALL_HEADERS) < 0
139 0 0 $strict and &firstidx(sub { "/$_" eq $k; } , @ALL_HEADERS) < 0 and &firstidx(sub { "/$_" eq $k; } , @HIDDEN_HEADERS) < 0
2197 2340 80 0 $strict and &firstidx(sub { $_ eq $k; } , @ALL_HEADERS) < 0
2420 0 0 $strict and &firstidx(sub { $_ eq $k; } , @ALL_HEADERS) < 0 and &firstidx(sub { $_ eq $k; } , @HIDDEN_HEADERS) < 0
2270 0 24 4 $self->{'options'}{'cache'} and $self->{'max_dataidx'} >= 0
2299 21 0 0 $self->{'options'}{'fill_ancillary_data'} and &firstidx(sub { $_ eq $field; } , keys %{$$self{'ancillary'};}) >= 0
2308 1861 57 0 defined $hash->{$case_var} and !defined($missing) || $hash->{$case_var} != $missing
2495 129 0 12 defined $self->{'headers'}{"$slash$where"} and $self->{'headers'}{"$slash$where"} =~ /$regex/
129 0 12 defined $self->{'headers'}{"$slash$where"} and $self->{'headers'}{"$slash$where"} =~ /$regex/ and lc $1 ne 'na'
2590 0 98 0 defined $row->{$variable} and !defined($missing) || $row->{$variable} != $missing

or 2 conditions

line l !l condition
1318 14 7 $unit ||= 'unitless'
1516 14 0 $self->{'headers'}{"${slash}delimiter"} ||= 'comma'
1547 1 0 $add_missing_headers || ''
2021 126 1 $headers{"${slash}fields"} || ''
2022 126 1 $headers{"${slash}fields"} || ''
2240 89 0 shift() || ''

or 3 conditions

line l !l&&r !l&&!r condition
1220 3 0 1 not $self->{'options'}{'fill_ancillary_data'} or &firstidx(sub { $_ eq $field; } , keys %{$$self{'ancillary'};}) < 0
1232 18 14 2 !defined($missing) || $row->{$field} != $missing
1499 0 0 0 $write_to_h ||= $self->{'default_write_to'}
1553 11 0 2 $missing eq $adl or $self->{'options'}{'missing_data_to_undef'}
1556 11 0 2 $missing eq $bdl or $self->{'options'}{'missing_data_to_undef'}
1689 232 0 31 $self->{'delim'} or $self->guess_delim($line)
1693 0 263 0 $field_list ||= $self->{'fields'}
1705 8 0 860 $v eq $self->{'missing'} or $v eq $self->{'below_detection_limit'}
8 0 860 $v eq $self->{'missing'} or $v eq $self->{'below_detection_limit'} or $v eq $self->{'above_detection_limit'}
1979 110 0 17 $headers{"${slash}missing"} || $DEFAULT_MISSING
1985 0 7 21 not defined $v or $v =~ m(^n/?a(?:\[.*?\])?$)i
7 0 21 not defined $v or $v =~ m(^n/?a(?:\[.*?\])?$)i or lc $v eq lc $missing
2007 0 0 5 $headers{"${slash}begin_header"} or $headers{"${slash}end_header"}
2061 3 120 0 $headers{"${slash}below_detection_limit"} || $missing
2062 3 120 0 $headers{"${slash}above_detection_limit"} || $missing
2179 1190 117 1252 not $self->{'options'}{'preserve_case'} or $k =~ /fields|units/
2307 0 1918 0 $self->{'case_conversion'}{$variable} || $variable
2308 30 27 0 !defined($missing) || $hash->{$case_var} != $missing
2404 3 0 4 $self->{'delim'} or $self->guess_delim($_[0])
2590 63 35 0 !defined($missing) || $row->{$variable} != $missing