Branch Coverage

blib/lib/Spreadsheet/ExcelTableReader.pm
Criterion Covered Total %
branch 69 130 53.0


line true false branch
37 9 0 if ($self->sheet and ref $self->sheet and ref($self->sheet)->can('get_cell'))
44 0 12 unless @sheets
45 0 12 if (defined $self->sheet)
46 0 0 if (ref $self->sheet eq 'Regexp') { }
0 0 elsif (ref $self->sheet eq 'CODE') { }
0 0 elsif (not ref $self->sheet) { }
56 0 12 unless @sheets
64 0 12 unless defined $f
67 0 12 if (ref $f and ref($f)->can('worksheets')) { }
73 4 8 if (ref $f eq 'GLOB' or ref $f and ref($f)->can('read')) { }
8 0 elsif (-e $f) { }
75 0 4 unless $fpos >= 0
76 0 4 unless $f->read(my $buf, 4) == 4
77 0 4 unless $f->seek($fpos, 0)
78 2 2 if $buf eq "\320\317\cQ\340"
82 0 8 unless open my $fh, '<', $f
83 0 8 unless read($fh, my $buf, 4) == 4
84 4 4 if $buf eq "\320\317\cQ\340"
87 0 0 if $Spreadsheet::ExcelTableReader::log->is_notice
90 6 6 if ($type eq 'xlsx') { }
93 1 5 if (ref $f eq 'GLOB')
96 0 1 unless $f_obj->fdopen($f, 'r')
103 0 12 unless defined $wbook
111 0 0 ref $args eq 'ARRAY' ? :
0 0 !$args ? :
0 0 unless $self->find_table(!$args ? () : (ref $args eq 'ARRAY' ? @$args : %$args))
118 0 21 unless defined $list and ref $list eq 'ARRAY'
121 61 20 if (not ref $_) { }
20 0 elsif (ref $_ eq 'HASH') { }
129 0 20 if defined $args{'isa'} and not defined $args{'type'}
131 9 11 unless defined $args{'header'}
172 0 14 if $Spreadsheet::ExcelTableReader::log->is_trace
176 2 12 unless $row >= $rmin and $row <= $rmax
178 53 0 $c ? :
181 12 0 if ($match_count >= $num_required_fields)
183 10 2 if ($field_col)
197 2 10 unless defined $location
223 0 53 unless defined $v and length $v
225 68 156 if $v =~ $field->header_regex
235 1 60 unless defined $field_found{$field->name}
240 0 60 if (not @available) { }
16 44 elsif (@available > 1) { }
242 0 0 if ($field->required)
244 0 0 if $Spreadsheet::ExcelTableReader::log->is_debug
253 2 14 if (++$ambiguous > @todo)
254 0 2 if $Spreadsheet::ExcelTableReader::log->is_debug
266 0 10 if $Spreadsheet::ExcelTableReader::log->is_debug
274 0 6 unless defined $self->{'_table_location'}
284 0 0 unless defined $self->_table_location
306 0 4 if keys %opts
309 0 4 unless defined $as
312 4 0 unless defined $blank_row
331 0 16 unless (defined $src_col)
332 0 0 unless $hash
336 0 16 if $hash
342 0 24 unless defined $v
345 0 24 unless length $v
352 0 24 unless defined $v and length($v = $v->value)
356 8 8 $field->trim ? :
358 0 16 if (defined(my $type = $field->type))
362 0 0 if $type->check($_[0][$idx])
372 4 12 unless $remaining > 0
379 0 12 if $skip_blank_row and $is_blank_row
380 0 12 if ($end_blank_row and $is_blank_row)
385 0 12 $hash ? :