Condition Coverage

blib/lib/Data/Table.pm
Criterion Covered Total %
condition 129 263 49.0


and 2 conditions

line l !l condition
47 61 2 $type and scalar @$data
2 61 not $type and scalar @$data

and 3 conditions

line !l l&&!r l&&r condition
47 0 2 0 $type and scalar @$data and $#{$data;} != $#{$header;}
1 60 0 not $type and scalar @$data and $#{$$data[0];} != $#{$header;}
49 0 1 62 $enforceCheck and scalar @$data > 0
153 0 0 86 defined $arg_ref and defined $arg_ref->{'delimiter'}
154 0 0 86 defined $arg_ref and defined $arg_ref->{'qualifier'}
179 4 0 0 defined $arg_ref and defined $arg_ref->{'OS'}
297 2 0 2 ref $colorArrayRef_or_classHashRef eq 'ARRAY' and scalar @$colorArrayRef_or_classHashRef == 3
338 0 0 520 defined $data->[$i][$j] && $data->[$i][$j] ne ''
356 0 0 0 $k eq 'style' and index($usr->{'k'}, 'background-color:') != -1
388 0 0 516 defined $data->[$i][$j] && $data->[$i][$j] ne ''
437 2 0 2 ref $colorArrayRef_or_classHashRef eq 'ARRAY' and scalar @$colorArrayRef_or_classHashRef == 3
477 0 0 516 defined $data->[$i][$j] && $data->[$i][$j] ne ''
493 0 0 0 $k eq 'style' and index($usr->{'k'}, 'background-color:') != -1
526 0 0 516 defined $data->[$i][$j] && $data->[$i][$j] ne ''
667 11 0 0 @$colRef != $self->nofRow and $numCol > 0
875 0 0 1 $colIdx >= 0 and $colIdx < $self->nofCol
990 12 14 0 $self->{'type'} and scalar @$data == 0
1236 4 0 0 $self->isEmpty and not $tbl->isEmpty
1244 2 1 1 $arg{'byName'} == 0 and $arg{'addNewCol'} == 0
1474 9 2 6 defined $arg_ref and defined $arg_ref->{'OS'}
1480 7 0 1 defined $arg_ref->{'skip_lines'} and $arg_ref->{'skip_lines'} > 0
1486 17 0 0 defined $header and ref $header eq 'ARRAY'
1503 0 1 1 defined $s and $s =~ /$skip_pattern/
1535 162 9 0 defined $skip_pattern and $s =~ /$skip_pattern/
1559 0 0 237 defined $arg_ref and defined $arg_ref->{'delimiter'}
1560 0 49 188 defined $arg_ref and defined $arg_ref->{'qualifier'}
1578 616 47 9 $ch eq $delimiter2 and $q % 2
1628 4 0 1 defined $arg_ref and defined $arg_ref->{'OS'}
1631 4 1 0 defined $arg_ref and defined $arg_ref->{'skip_lines'}
5 0 0 defined $arg_ref and defined $arg_ref->{'skip_lines'} and $arg_ref->{'skip_lines'} > 0
1644 5 0 0 defined $header and ref $header eq 'ARRAY'
1659 0 0 0 defined $s and $s =~ /$skip_pattern/
1697 31 0 0 defined $skip_pattern and $s =~ /$skip_pattern/
1753 5 0 0 not defined $cols2 and $n1 > 0
1832 37 4 4 $nr1 == 0 and $type == 0 || $type == 1
1833 29 9 3 $nr2 == 0 and $type == 0 || $type == 2
1834 29 0 6 $nr2 == 0 and $type == 1 || $type == 3
1840 25 0 4 $nr1 == 0 and $type == 2 || $type == 3
1880 0 0 1 defined $keyCols and ref $keyCols eq 'ARRAY'
1885 1 0 0 defined $arg_ref and defined $arg_ref->{'variableColName'}
1886 1 0 0 defined $arg_ref and defined $arg_ref->{'valueColName'}
1887 1 0 0 defined $arg_ref and defined $arg_ref->{'skip_NULL'}
1888 1 0 0 defined $arg_ref and defined $arg_ref->{'skip_empty'}
1928 8 0 0 not defined $row->[$y] and $skip_NULL
1929 8 0 0 $row->[$y] eq '' and $skip_empty
1953 2 1 0 defined $colToSplit and $grpBy{$colToSplit}
1963 0 0 1 defined $colsToGroupBy and ref $colsToGroupBy eq 'ARRAY'
1997 0 0 5 defined $colsToGroupBy and ref $colsToGroupBy eq 'ARRAY'
2017 0 0 5 scalar @Y == scalar @$funsToApply and scalar @Y == scalar @$newColNames
2026 13 2 0 $keepRestCols and not defined $Y{$i}
2102 2 2 0 not defined $y and defined $colToSplit
2106 4 0 0 not defined $z and defined $colToFill
2154 0 0 0 defined $y and $i == $y
0 0 0 defined $z and $i == $z
2222 2 0 7 defined $arg_ref and exists $arg_ref->{'qualifier'}
2223 2 0 7 defined $arg_ref and exists $arg_ref->{'encoding'}
2292 0 0 7 defined $arg_ref and exists $arg_ref->{'encoding'}
2302 0 7 7 $numLines > 0 and $cnt >= $numLines
2317 19 0 1 $name =~ /^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/ and not $allowNumericHeader
2375 7 0 0 $format and uc $format eq 'TSV'

or 2 conditions

line l !l condition
335 0 520 $tag_td->{$j} || $$tag_td{$header->[$j]} || {}
336 154 366 &$tag2str($cb ? &$callback({%$td}, $i, $j, $header->[$j], $self) : $td) || ''
376 0 12 $tag_td->{$i} || $$tag_td{$header->[$i]} || {}
386 208 308 &$tag2str($cb ? &$callback({%$td}, $j, $i, $header->[$i], $self) : $td) || ''
472 0 516 $tag_td->{$j} || $$tag_td{$header->[$j]} || {}
475 154 362 &$tag2str($cb ? &$callback({%$td}, $i, $j, $header->[$j], $self) : $td) || ''
514 0 12 $tag_td->{$i} || $$tag_td{$header->[$i]} || {}
524 208 308 &$tag2str($cb ? &$callback({%$td_def}, $j, $i, $header->[$i], $self) : $td_def) || ''

or 3 conditions

line l !l&&r !l&&!r condition
40 0 63 0 ref $pkg || $pkg
47 0 0 63 $type and scalar @$data and $#{$data;} != $#{$header;} or not $type and scalar @$data and $#{$$data[0];} != $#{$header;}
139 0 0 77 $prevRow < 0 || $prevRow > $self->nofRow - 1
141 0 1 77 $current_row < 0 or $current_row > $self->nofRow - 1
356 0 0 0 not defined $usr->{'k'} or $usr->{'k'} eq ''
493 0 0 0 not defined $usr->{'k'} or $usr->{'k'} eq ''
662 0 1 11 not defined $colRef or ref $colRef eq ''
891 0 0 1077 $rowIdx < 0 or $rowIdx > $maxIdx
906 0 0 8 $rowIdx < 0 or $rowIdx > $maxIdx
930 0 0 30 $colIdx < 0 or $colIdx > $numCol
1094 0 63 11 $res ||= $subs[$_]->($$a[$cols[$_ * 3]], $$b[$cols[$_ * 3]])
1312 0 2 0 $self->isEmpty or $self->nofRow == $tbl->nofRow
1832 2 2 4 $type == 0 || $type == 1
1833 3 3 6 $type == 0 || $type == 2
1834 3 3 0 $type == 1 || $type == 3
1840 2 2 0 $type == 2 || $type == 3
2026 5 0 15 $grpBy{$i} or $keepRestCols and not defined $Y{$i}
2154 0 0 0 defined $y and $i == $y or defined $z and $i == $z
2274 0 0 38 not $^V or $^V lt v5.8.1
2311 0 0 7 not defined $s or $s eq ''
0 0 7 not defined $s or $s eq '' or $s =~ /$delimiter$/