Condition Coverage

blib/lib/HTML/Tabulate.pm
Criterion Covered Total %
condition 188 307 61.2


and 3 conditions

line !l l&&!r l&&r condition
129 74 0 167 $type and $type ne "SCALAR"
74 167 0 $type and $type ne "SCALAR" and not $valid{$_} =~ /$type/
149 0 0 6 $type and $type ne "SCALAR"
0 6 0 $type and $type ne "SCALAR" and not $valid{$_} =~ /$type/
172 20 0 26 $type and $type ne "SCALAR"
20 26 0 $type and $type ne "SCALAR" and not $valid{$_} =~ /$type/
209 2 244 0 $hash2 and ref $hash2 ne "HASH"
230 139 103 153 ref $hash2->{$key} eq "HASH" and ref $merge->{$key} eq "HASH"
268 0 31 0 $defn and ref $defn ne "HASH"
271 27 4 0 $defn->{'table'} and not ref $defn->{'table'}
311 7 0 0 builtin::blessed($set) and $set->can("Next")
7 0 0 builtin::blessed($set) and $set->can("next")
0 1 0 ref $set and ref $set ne "HASH"
1 0 0 ref $set and ref $set ne "HASH" and $set->isa("Class::DBI")
350 0 0 0 not @col and $obj->columns("Essential")
356 0 0 6 ref $defn->{'fields'} and @{$defn->{'fields'};}
365 0 0 0 not @col and $set->columns("Essential")
422 0 0 1 ref $defn->{'fields'} eq "ARRAY" and ref $add eq "HASH"
528 105 1 1 $self->{'defn_t'}{'style'} eq "across" and ref $defn_t->{'thtr'} eq "HASH"
556 98 3 6 $defn_t->{'stripe'} and ref $defn_t->{'stripe'} ne "ARRAY"
680 2270 3 6 $close and $xhtml
719 0 0 16 $DEFAULT_DEFN{$type} and ref $DEFAULT_DEFN{$type} eq "HASH"
731 2 17 6 defined $elt->{'value'} and $elt->{'value'} =~ /^\s*\<.*\>\s*$/s
733 17 2 0 defined $elt->{'title'} and $elt->{'title'} =~ /^\s*\<.*\>\s*$/s
738 2 1 16 defined $elt->{'value'} and defined $elt->{'format'}
3 3 13 defined $elt->{'value'} and defined $elt->{'format'} and not ref $elt->{'format'}
743 2 1 3 defined $elt->{'value'} and defined $elt->{'format'}
3 0 3 defined $elt->{'value'} and defined $elt->{'format'} and ref $elt->{'format'} eq "CODE"
768 0 294 27 defined $data and $data ne ""
294 20 7 defined $data and $data ne "" and substr($data, -1) ne "\n"
784 107 2 105 $post_table and ref $defn_t->{'caption'} ne 'HASH' || !$defn_t->{'caption'}{'type'} || $defn_t->{'caption'}{'type'} ne 'caption_caption'
7 0 100 ref $defn_t->{'caption'} eq "HASH" and $defn_t->{'caption'}{'type'}
0 98 2 ref $defn_t->{'caption'} eq "HASH" and $defn_t->{'caption'}{'type'} and $defn_t->{'caption'}{'type'} eq "caption_caption"
2 107 0 not $post_table and (ref $defn_t->{'caption'} eq "HASH" and $defn_t->{'caption'}{'type'} and $defn_t->{'caption'}{'type'} eq "caption_caption")
813 7 0 1 $cg->{'cols'} and ref $cg->{'cols'}
7 0 1 $cg->{'cols'} and ref $cg->{'cols'} and ref $cg->{'cols'} eq "ARRAY"
844 0 106 1 exists $self->{'defn_t'}{'table'} and not $self->{'defn_t'}{'table'}
852 0 106 1 exists $self->{'defn_t'}{'table'} and not $self->{'defn_t'}{'table'}
872 7 21 0 $ref and $ref ne "CODE"
891 14 16 0 $ref and $ref ne "CODE"
926 115 1407 108 $data ne "" and $defn->{'trim'}
932 115 2 1513 $data ne "" and $fattr->{'escape'} || !exists $fattr->{'escape'}
940 113 1487 30 $data ne "" and $fattr->{'link'}
944 1504 120 6 defined $defn->{'null'} and $data eq ""
962 389 0 2 $l eq "" and defined $self->{'defn_t'}{'null'}
1059 1454 37 175 exists $fattr->{'value'} and not ref $fattr->{'value'}
9 0 1482 ref $row and not $fattr->{'derived'}
1065 0 333 0 ref $row eq "HASH" and exists $row->{$field}
1067 0 0 0 eval { do { $row->can($field) } } and $field ne "delete"
1087 1454 175 37 exists $fattr->{'value'} and ref $fattr->{'value'}
1097 1584 82 0 not defined $value and exists $fattr->{'default'}
1203 1630 0 0 $fattr and $tx_attr
1226 1627 0 3 $tx_attr_extra and $tx_attr_extra->{$field}
1231 20 0 1610 $skip_count and ref $skip_count
20 0 1610 $skip_count and ref $skip_count and ref $skip_count eq "SCALAR"
1290 9 3 1 $rownum == 0 and exists $tr->{'bgcolor'}
1295 0 4 5 $stripe->[$r]{'class'} and $tr->{'class'}
1385 418 0 3 ref $defn_t->{'tr'} eq "CODE" and $row
1447 105 0 0 builtin::blessed($set) and $set->can("Next")
105 0 0 builtin::blessed($set) and $set->can("next")
1507 68 0 37 $self->{'defn_t'}{'labels'} and @fields
1527 3 0 0 $data_prepend && @$data_prepend
1538 101 1 3 $data_prepend and @$data_prepend
1610 2 0 0 builtin::blessed($set) and $set->can("Next")
2 0 0 builtin::blessed($set) and $set->can("next")
1707 0 6 101 ref $self and builtin::blessed($self)
6 0 101 ref $self and builtin::blessed($self) and $self->isa("HTML::Tabulate")
1715 17 0 90 ref $defn eq "HASH" and keys %$defn

or 2 conditions

line l !l condition
204 246 0 shift() || {}
220 244 2 (caller 1)[3] || ''
267 29 2 shift() || {}
509 5 18 $defn_t->{'field_attr'}{$_} ||= {}
515 0 1 $defn_t->{'field_attr'}{$_} ||= {}
562 1 6 $defn_t->{'tbody'} ||= 1
566 1 2 $defn_t->{'tbody'} ||= 1
748 1 1 $elt->{'tag'} || 'h2'
795 2 0 $defn_t->{'caption'}{'format'} || ''
873 21 0 $row || {}
893 13 3 $row || {}
905 4 3 $row || {}
984 0 391 $self->{'defn_t'}{'label_attr'}{$field} ||= {}
985 0 391 $self->{'defn_t'}{'tfoot_attr'}{$field} ||= {}
986 0 391 $self->{'defn_t'}{'data_attr'}{$field} ||= {}
1117 0 6 $fattr->{'composite_join'} || ' '
1392 418 0 $tr ||= {}

or 3 conditions

line l !l&&r !l&&!r condition
131 167 74 0 $type or $valid{$_} =~ /SCALAR/
151 6 0 0 $type or $valid{$_} =~ /SCALAR/
159 92 31 0 $self->{'field_attr'} ||= $self->get_field_attributes
174 26 20 0 $type or $valid{$_} =~ /SCALAR/
413 7 0 100 not $self->{'defn_t'}{'fields'} or ref $self->{'defn_t'}{'fields'} ne "ARRAY"
7 0 100 not $self->{'defn_t'}{'fields'} or ref $self->{'defn_t'}{'fields'} ne "ARRAY" or not @{$self->{'defn_t'}{'fields'};}
480 90 17 0 $defn ||= $self->{'defn'}
727 23 2 294 defined $elt->{'value'} or defined $elt->{'title'}
784 7 98 2 ref $defn_t->{'caption'} ne 'HASH' || !$defn_t->{'caption'}{'type'} || $defn_t->{'caption'}{'type'} ne 'caption_caption'
932 0 1513 2 $fattr->{'escape'} || !exists $fattr->{'escape'}
1204 161 0 1469 not defined $row or $row eq "thead"
1336 7 0 0 defined $value || defined $self->{'defn_t'}{'tbody_field_value'}
8 0 7 $value eq $self->{'defn_t'}{'tbody_field_value'} or not defined $value || defined $self->{'defn_t'}{'tbody_field_value'}
1382 5 0 33 $tr ||= $self->deepcopy($defn_t->{'tr_base'})
1409 2 449 0 $fields ||= $self->{'defn_t'}{'fields'}
1447 6 0 0 ref $set eq "HASH" or eval { do { keys %$set } }
1449 0 0 0 $self->{'prefetch'} || &$set()
1454 0 0 0 $self->{'prefetch'} || eval { do { $set->First } } || $set->Next
1459 0 0 0 $self->{'prefetch'} || eval { do { $set->first } } || $set->next
1470 6 0 0 $fields->[0] || (sort keys %$set)[0]
1610 0 0 0 ref $set eq "HASH" or eval { do { keys %$set } }
1616 0 0 0 eval { do { $set->First } } || $set->Next
1625 0 0 0 eval { do { $set->first } } || $set->next