Condition Coverage

blib/lib/Data/Nested.pm
Criterion Covered Total %
condition 306 456 67.1


and 3 conditions

line !l l&&!r l&&r condition
231 0 3446 728 $$self{'structure'} and not $nocheck
266 3 0 1 defined $nds and $nds eq '_copy'
372 336 34230 0 defined $info and $info
374 1817 544 32205 exists $$self{'cache'}{'get_structure'}{$path} and exists $$self{'cache'}{'get_structure'}{$path}{$info}
418 365 0 751 $info eq 'type' and $val =~ /^(hash|list|scalar|other)$/
484 0 1 1 exists $$self{'struct'}{$p}{'uniform'} and $$self{'struct'}{$p}{'uniform'}
604 466 142 214 $val ne 'scalar' and $val ne 'list'
608 212 2 $val ne 'scalar' and $val ne 'list' and $val ne 'hash'
354 1 1 $val ne 'scalar' and $val ne 'list' and $val ne 'hash' and $val ne 'other'
612 818 2 1 $type ne 'unknown' and $type ne 'list/hash'
618 818 1 1 $type eq 'list/hash' and $val ne 'list'
819 0 1 $type eq 'list/hash' and $val ne 'list' and $val ne 'hash'
650 36 37 1 $val ne '0' and $val ne '1'
702 129 206 1 $type ne 'list' and $type ne 'hash'
335 0 1 $type ne 'list' and $type ne 'hash' and $type ne 'list/hash'
710 206 128 1 $val ne '0' and $val ne '1'
718 0 206 128 exists $$self{'struct'}{$path}{'type'} and $$self{'struct'}{$path}{'type'} eq 'list'
774 909 132 4 $parent_type eq 'list' and $curr_ele =~ /^\d+$/
909 1 131 $parent_type eq 'list' and $curr_ele eq '*'
0 904 5 $parent_type eq 'hash' || $parent_type eq 'list/hash' and $curr_ele eq '*'
986 0 0 0 $ref ne 'list' and $ref ne 'hash'
1088 1434 0 0 $copy and ref $val
1118 1670 17 1 ref $nds ne 'HASH' and ref $nds ne 'ARRAY'
1459 91 0 0 $type eq 'list' and $ordered
1486 1 0 0 $type eq 'list' and $ordered
1599 226 89 0 not ref $nds1 and $nds1 eq ''
1672 105 74 0 not ref $$val1{$key} and $$val1{$key} eq ''
1709 0 15 5 not ref $$val1[$i] and $$val1[$i] eq ''
2062 12 2 0 exists $tmp{'scalar'} and exists $tmp{'uniform'} || exists $tmp{'nonuniform'} || exists $tmp{'ordered'} || exists $tmp{'unordered'}
2073 9 4 0 exists $tmp{'hash'} and exists $tmp{'ordered'} || exists $tmp{'unordered'}
2082 4 6 2 exists $tmp{'list'} and exists $tmp{'unordered'}
10 2 0 exists $tmp{'list'} and exists $tmp{'unordered'} and exists $tmp{'nonuniform'}
2121 0 7 8 exists $$self{'struct'}{$path}{'ordered'} and $$self{'struct'}{$path}{'ordered'} == $ordered
2136 0 11 12 exists $$self{'struct'}{$path}{'uniform'} and $$self{'struct'}{$path}{'uniform'} == $uniform
2246 2 13 13 $exists and not $not
13 1 1 not $exists and $not
2254 12 8 8 $empty and not $not
8 6 6 not $empty and $not
2332 28 22 22 $def and not $not
22 14 14 not $def and $not
2340 26 7 7 $empty and not $not
7 13 13 not $empty and $not
2355 10 14 14 $n < $val and not $not
14 5 5 $n >= $val and $not
2360 18 10 10 $n <= $val and not $not
10 9 9 $n > $val and $not
2365 26 5 5 $n == $val and not $not
5 13 13 $n != $val and $not
2370 2 3 3 $n >= $val and not $not
3 1 1 $n < $val and $not
2375 4 1 1 $n > $val and not $not
1 2 2 $n <= $val and $not
2517 18 10 10 $nds eq $val and not $not
10 9 9 $nds ne $val and $not
2527 28 22 22 exists $tmp{$nds} and not $not
22 14 14 not exists $tmp{$nds} and $not
2727 2 113 77 exists $$desc1{$mpath} and $$desc1{$mpath}{'val'} eq $$desc2{$mpath}{'val'}
2739 42 25 0 $identical and @d1
2746 10 5 0 $identical and $#u1 > -1
2817 18 11 0 $identical and $max1 != $max2
2873 34 0 0 @mpath1 and $identical
2967 327 0 256 $isul and $$ul{$mpath}{'meles'}[0] =~ /^_ul_/
0 71 256 not $isul and $$ul{$mpath}{'meles'}[0] eq $mele
3107 0 0 0 $opt > 0 and $opt < 20
3120 0 0 0 $maxlevel != 0 and $opt > $maxlevel
3155 0 0 0 $currwidth and $maxl + 1 > $currwidth
3172 0 0 0 not ref $val and $val eq ''
3181 0 0 0 not ref $val and $vall == -1 || length $val <= $vall
0 0 0 ref $val and $opts{'maxlevel'} == $level
0 0 0 ref $val and $opts{'maxlevel'} == $level and $vall == -1 || $vall > 3
3225 0 0 0 not ref $val and $val eq ''
3234 0 0 0 not ref $val and $vall == -1 || length $val <= $vall
0 0 0 ref $val and $opts{'maxlevel'} == $level
0 0 0 ref $val and $opts{'maxlevel'} == $level and $vall == -1 || $vall > 3
3250 0 0 0 not ref $nds and $nds eq ''

or 3 conditions

line l !l&&r !l&&!r condition
154 86 881 4 not defined $tmp[0] or $tmp[0] eq ''
177 1 0 5 $name eq 'keep' or $name eq 'replace'
1 0 5 $name eq 'keep' or $name eq 'replace' or $name eq 'default'
0 0 5 $name eq 'keep' or $name eq 'replace' or $name eq 'default' or $name eq 'override'
264 3 1 28 not defined $nds or $nds eq '_copy'
418 751 294 71 $info eq 'type' and $val =~ /^(hash|list|scalar|other)$/ or $info eq 'uniform'
1045 71 0 $info eq 'type' and $val =~ /^(hash|list|scalar|other)$/ or $info eq 'uniform' or $info eq 'ordered'
638 0 0 75 $type eq 'unknown' or $type eq 'list/hash'
774 1 0 1045 $parent_type eq 'scalar' or $parent_type eq 'other'
909 0 0 $parent_type eq 'hash' || $parent_type eq 'list/hash'
904 0 0 $parent_type eq 'hash' or $parent_type eq 'list/hash'
858 0 0 10 $curr_ele eq '*' or $curr_ele =~ /^\d+$/
978 4557 3542 15997 $type eq 'hash' or $type eq 'list'
8099 15985 12 $type eq 'hash' or $type eq 'list' or $type eq 'scalar'
994 0 0 12 $ref eq 'scalar' or $ref eq 'hash'
0 0 12 $ref eq 'scalar' or $ref eq 'hash' or $ref eq 'list'
1019 174 57 1 $type eq 'hash' or $type eq 'list'
1035 3597 4730 16444 $type eq 'list' or $type eq 'hash'
1277 2 0 1 $type eq 'scalar' or $type eq 'other'
1459 91 0 0 $type eq 'scalar' or $type eq 'other'
1486 1 0 0 $type eq 'scalar' or $type eq 'other'
1521 0 4 98 $args[0] eq '0' or $args[0] eq '1'
1599 0 0 315 $self->empty($nds1) or not ref $nds1 and $nds1 eq ''
1614 114 0 201 $method eq 'keep' or $method eq 'keep_warn'
29 0 172 $method eq 'replace' or $method eq 'replace_warn'
1672 103 0 179 not exists $$val1{$key} or $self->empty($$val1{$key})
103 0 179 not exists $$val1{$key} or $self->empty($$val1{$key}) or not ref $$val1{$key} and $$val1{$key} eq ''
1709 5 0 20 $self->empty($$val1[$i]) or not ref $$val1[$i] and $$val1[$i] eq ''
1749 0 15 0 $args[0] eq '0' or $args[0] eq '1'
2025 2 9 20 $arg eq 'scalar' or $arg eq 'list'
11 5 15 $arg eq 'scalar' or $arg eq 'list' or $arg eq 'hash'
4 3 8 $arg eq 'uniform' or $arg eq 'nonuniform'
4 3 1 $arg eq 'ordered' or $arg eq 'unordered'
2028 0 0 16 exists $tmp{'scalar'} or exists $tmp{'list'}
0 1 15 exists $tmp{'scalar'} or exists $tmp{'list'} or exists $tmp{'hash'}
2038 0 0 7 exists $tmp{'uniform'} or exists $tmp{'nonuniform'}
2047 0 0 7 exists $tmp{'ordered'} or exists $tmp{'unordered'}
2062 0 1 1 exists $tmp{'uniform'} || exists $tmp{'nonuniform'} || exists $tmp{'ordered'} || exists $tmp{'unordered'}
2073 1 0 3 exists $tmp{'ordered'} || exists $tmp{'unordered'}
2178 56 0 148 _test_list_condition($self, $v, $cond) or _test_scalar_condition($self, $v, $cond)
2216 170 0 265 $cond =~ /^\!?empty(:.+)?$/i or $cond =~ /^\!?exists:.+$/i
2228 60 16 76 $cond =~ /^empty/i or $cond =~ /^\!exists/i
2246 13 0 15 $exists and not $not or not $exists and $not
2254 8 0 20 $empty and not $not or not $empty and $not
2308 0 16 188 $cond =~ /^empty(:.+)?$/i or $cond =~ /^\!defined:(.+)$/i
16 16 172 $cond =~ /^empty(:.+)?$/i or $cond =~ /^\!defined:(.+)$/i or $cond =~ /^\!contains:(.+)$/i
32 0 172 $cond =~ /^empty(:.+)?$/i or $cond =~ /^\!defined:(.+)$/i or $cond =~ /^\!contains:(.+)$/i or $cond eq '=:0'
16 8 164 $cond =~ /^empty(:.+)?$/i or $cond =~ /^\!defined:(.+)$/i or $cond =~ /^\!contains:(.+)$/i or $cond eq '=:0' or $cond =~ /^\!=:(\d*[1-9]\d*)$/
8 8 156 $cond =~ /^empty(:.+)?$/i or $cond =~ /^\!defined:(.+)$/i or $cond =~ /^\!contains:(.+)$/i or $cond eq '=:0' or $cond =~ /^\!=:(\d*[1-9]\d*)$/ or $cond =~ /^<:(\d+)$/
16 8 148 $cond =~ /^empty(:.+)?$/i or $cond =~ /^\!defined:(.+)$/i or $cond =~ /^\!contains:(.+)$/i or $cond eq '=:0' or $cond =~ /^\!=:(\d*[1-9]\d*)$/ or $cond =~ /^<:(\d+)$/ or $cond =~ /^<=:(\d+)$/
16 0 148 $cond =~ /^empty(:.+)?$/i or $cond =~ /^\!defined:(.+)$/i or $cond =~ /^\!contains:(.+)$/i or $cond eq '=:0' or $cond =~ /^\!=:(\d*[1-9]\d*)$/ or $cond =~ /^<:(\d+)$/ or $cond =~ /^<=:(\d+)$/ or $cond eq '>=:0'
2332 22 0 50 $def and not $not or not $def and $not
2340 7 0 33 $empty and not $not or not $empty and $not
2355 14 0 24 $n < $val and not $not or $n >= $val and $not
2360 10 0 28 $n <= $val and not $not or $n > $val and $not
2365 5 0 31 $n == $val and not $not or $n != $val and $not
2370 3 0 5 $n >= $val and not $not or $n < $val and $not
2375 1 0 5 $n > $val and not $not or $n <= $val and $not
2456 9 0 139 $cond =~ /^!defined$/i or $cond =~ /^empty$/i
9 1 138 $cond =~ /^!defined$/i or $cond =~ /^empty$/i or $cond =~ /^\!zero$/i
1 1 137 $cond =~ /^!defined$/i or $cond =~ /^empty$/i or $cond =~ /^\!zero$/i or $cond =~ /^\!true$/i
2 8 129 $cond =~ /^!defined$/i or $cond =~ /^empty$/i or $cond =~ /^\!zero$/i or $cond =~ /^\!true$/i or $cond =~ /^\!=:/
9 16 113 $cond =~ /^!defined$/i or $cond =~ /^empty$/i or $cond =~ /^\!zero$/i or $cond =~ /^\!true$/i or $cond =~ /^\!=:/ or $cond =~ /^\!member/i
2499 1 1 1 $nds eq '' or $nds == 0
2502 1 1 1 $nds eq '' or $nds == 0
2517 10 0 28 $nds eq $val and not $not or $nds ne $val and $not
2527 22 0 50 exists $tmp{$nds} and not $not or not exists $tmp{$nds} and $not
2591 0 0 20 $args[0] eq '0' or $args[0] eq '1'
2713 1 3 67 $#d1 != $#d2 or $#u1 != $#u2
2716 1 0 115 $#d1 < $#d2 or $#u1 < $#u2
2967 256 0 327 $isul and $$ul{$mpath}{'meles'}[0] =~ /^_ul_/ or not $isul and $$ul{$mpath}{'meles'}[0] eq $mele
3096 0 0 0 not $opt =~ /^\d+$/ or $opt < 1
3107 0 0 0 not $opt =~ /^\d+$/ or $opt > 0 and $opt < 20
3181 0 0 0 $vall == -1 || length $val <= $vall
0 0 0 $vall == -1 || $vall > 3
3234 0 0 0 $vall == -1 || length $val <= $vall
0 0 0 $vall == -1 || $vall > 3