Condition Coverage

blib/lib/Data/TableReader.pm
Criterion Covered Total %
condition 61 134 45.5


and 2 conditions

line l !l condition
699 0 23 ++$eof and return undef

and 3 conditions

line !l l&&!r l&&r condition
67 1 0 7 defined $_ && !ref($_)
79 0 1 22 ref $i and builtin::blessed($i) && ($i->can('get_cell') || $i->can('worksheets')) || ref $i eq 'ARRAY'
83 0 0 0 ref $i and ref $i eq 'GLOB' || ref($i)->can('read')
135 0 0 23 defined $list and ref $list eq "ARRAY"
143 54 0 0 defined $args{'isa'} and not defined $args{'type'}
146 0 0 1 builtin::blessed($_) and $_->isa("Data::TableReader::Field")
204 0 22 1 ref $input and ref($input)->can("get_cell")
206 0 22 0 ref $input and ref($input)->can("worksheets")
213 0 0 22 @$input and ref $input->[0] eq "ARRAY"
0 0 22 @$input and ref $input->[0] eq "ARRAY" and @{$input->[0];}
0 5 17 @$input and ref $input->[0] eq "ARRAY" and @{$input->[0];} and ref $input->[0][0] ne "ARRAY"
250 0 0 0 defined $input and !ref($input) || ref($input) =~ /path|file/i
272 0 0 0 $comma_count > $eol_count and $comma_count > $tab_count
273 0 0 0 $tab_count > $eol_count and $tab_count > $comma_count
276 0 0 0 $probably_csv and $probably_csv > $probably_tsv
277 0 0 0 $probably_tsv and $probably_tsv > $probably_csv
504 55 10 9 not @found_idx and $f->required
513 30 1 2 @follows_fields and not $attempt->{'missing_required'}
517 12 0 5 $colmap[$idx] and 1 == @{$colmap[$idx];}
535 5 0 7 $colmap[$idx] and @{$colmap[$idx];} == 1
545 0 3 0 $_->required && !$found{builtin::refaddr($_)}
608 0 24 0 $self->on_ambiguous_columns ne "warn" and $attempt->{'ambiguous_columns'} || $attempt->{'ambiguous_fields'}
699 0 23 56 !$eof && &$data_iter(\@input_slice)
705 8 154 0 defined $_ and $t->[0]->()
710 8 11 144 defined $vals->[$_] and length $vals->[$_]
822 7 0 3 builtin::blessed($t) && $t->can('validate')
825 7 0 3 builtin::blessed($t) && ($t->can('has_coercions') ? $t->has_coercions : $t->can('coerce'))
870 2 0 1 $c && $t_can_coerce

or 2 conditions

line l !l condition
124 0 23 $self->_file_handle || ''
287 0 0 $$result->{'fatal'} || q[Can't locate valid header]
789 59 26 $trimmer{builtin::refaddr($t)} ||= [$t, []]

or 3 conditions

line l !l&&r !l&&!r condition
79 1 22 0 builtin::blessed($i) && ($i->can('get_cell') || $i->can('worksheets')) || ref $i eq 'ARRAY'
83 0 0 0 ref $i eq 'GLOB' || ref($i)->can('read')
95 0 0 0 $decoder_ref eq "HASH" or $decoder_ref eq "ARRAY"
180 0 0 2 $level eq "warn" or $level eq "error"
186 12 22 229 $level eq "warn" or $level eq "error"
250 0 0 0 !ref($input) || ref($input) =~ /path|file/i
475 9 97 0 defined $seen{builtin::refaddr($_)} or push @{$_->follows_list ? \@follows_fields : \@free_fields;}, $_
599 0 0 7 $attempt->{'ambiguous_columns'} || $attempt->{'ambiguous_fields'}
608 0 0 24 $attempt->{'ambiguous_columns'} || $attempt->{'ambiguous_fields'}
2 0 24 $attempt->{'missing_required'} or $self->on_ambiguous_columns ne "warn" and $attempt->{'ambiguous_columns'} || $attempt->{'ambiguous_fields'}
615 6 0 3 $act eq "warn" or $act eq "use"
3 0 0 $act eq "error" or $act eq "next"
710 144 19 0 defined $vals->[$_] and length $vals->[$_] or ++$n_blank, $vals->[$_] = $blank_val[$_]
713 0 2 0 $first_blank ||= $data_iter->row