Condition Coverage

blib/lib/Voxgig/Struct.pm
Criterion Covered Total %
condition 3 571 0.5


and 3 conditions

line !l l&&!r l&&r condition
114 0 0 0 $flags & 1024 && !($flags & 768)
223 0 0 0 defined $_[0] && builtin::blessed($_[0]) && builtin::blessed($_[0]) eq 'Voxgig::Struct::None'
228 0 0 0 defined $_[0] && builtin::blessed($_[0]) && builtin::blessed($_[0]) eq 'Voxgig::Struct::Null'
235 0 0 0 defined $_[0] && builtin::blessed($_[0]) && builtin::blessed($_[0]) eq 'Voxgig::Struct::Bool'
265 0 0 0 defined $val and builtin::blessed($val)
0 0 0 defined $val and builtin::blessed($val) and builtin::blessed($val) eq "Voxgig::Struct::Sentinel"
371 0 0 0 defined $name && $name ne ''
432 0 0 0 defined $val && ref $val eq 'CODE'
444 0 0 0 &looks_like_number($val) and not "$val" =~ /[^0-9eE.+\-]/u
456 0 0 0 defined $val and not ref $val
0 0 0 defined $val and not ref $val and &looks_like_number($val)
0 0 0 defined $val and not ref $val and &looks_like_number($val) and not $val =~ /[^0-9eE.+\-]/u
0 0 0 defined $val and not ref $val and &looks_like_number($val) and not $val =~ /[^0-9eE.+\-]/u and $val ne ""
458 0 0 0 defined $start && &looks_like_number($start)
459 0 0 0 defined $end && &looks_like_number($end)
466 0 0 0 defined $end and not defined $start
486 0 0 0 -1 < $start and $start <= $end
0 0 0 -1 < $start and $start <= $end and $end <= $vlen
518 0 0 0 defined $padchar && length $padchar
557 0 0 0 defined $key and not ref $key
0 0 0 defined $key and not ref $key and &looks_like_number($key)
577 0 0 0 defined $val and ref $val
596 0 0 0 defined $val and ref $val
598 0 0 0 defined $key and not ref $key
0 0 0 defined $key and not ref $key and &looks_like_number($key)
630 0 0 0 defined $val and ref $val
644 0 0 0 defined $val and ref $val
646 0 0 0 defined $key and not ref $key
0 0 0 defined $key and not ref $key and &looks_like_number($key)
652 0 0 0 defined $v && !is_jnull($v) && !is_none($v)
659 0 0 0 defined $v && !is_jnull($v) && !is_none($v)
690 0 0 0 $depth > 0 and islist($item)
703 0 0 0 defined $val and ref $val
748 0 0 0 0 < (33554432 & typify($n->[1])) && '' ne $n->[1]
757 0 0 0 not is_none($sepre) and "" ne $sepre
758 0 0 0 $url and 0 == $i
786 0 0 0 not ref $val and defined $val
0 0 0 not ref $val and defined $val and _is_string_sv($val)
0 0 0 not ref $val and defined $val
0 0 0 not ref $val and defined $val and _is_number_sv($val)
802 0 0 0 not is_none($path) and $start >= 0
813 0 0 0 not ref $p and _is_number_sv($p)
843 0 0 0 not ref $flags and &Scalar::Util::looks_like_number($flags)
852 0 0 0 defined $offset and $offset > 0
920 0 0 0 $v == int $v and not $v =~ /[.eE]/u
951 0 0 0 not ref $val and _is_string_sv($val)
961 0 0 0 defined $maxlen and $maxlen > -1
1012 0 0 0 defined $addr and exists $seen->{$addr}
1033 0 0 0 defined $val and ref $val
1035 0 0 0 defined $key and not ref $key
0 0 0 defined $key and not ref $key and &looks_like_number($key)
1055 0 0 0 defined $val and ref $val
1063 0 0 0 defined $key and not ref $key
0 0 0 defined $key and not ref $key and &looks_like_number($key)
1411 0 0 0 defined $path_in and not ref $path_in
0 0 0 defined $path_in and not ref $path_in and not is_jbool($path_in)
0 0 0 defined $path_in and not ref $path_in and not is_jbool($path_in) and not is_jnull($path_in)
1435 0 0 0 defined $path_in && defined $store
0 0 0 $numparts == 1 and $parts[0] eq ""
1448 0 0 0 defined $inj and $inj->{'meta'}
0 0 0 defined $inj and $inj->{'meta'} and $parts[0] =~ /$R_META_PATH/u
1454 0 0 0 defined $val and not is_none($val)
0 0 0 defined $val and not is_none($val) and $pI < $numparts
1456 0 0 0 defined $inj and defined $part
0 0 0 defined $inj and defined $part and $part eq "\$KEY"
0 0 0 defined $inj and defined $part
0 0 0 defined $inj and defined $part and index($part, "\$GET:") == 0
0 0 0 defined $inj and defined $part
0 0 0 defined $inj and defined $part and index($part, "\$REF:") == 0
0 0 0 defined $inj and defined $part
0 0 0 defined $inj and defined $part and index($part, "\$META:") == 0
1475 0 0 0 $pI + 1 < $numparts and $parts[$pI + 1] eq ""
1479 0 0 0 defined $inj and $ascends > 0
1507 0 0 0 defined $inj and defined $inj->{'handler'}
0 0 0 defined $inj and defined $inj->{'handler'} and isfunc($inj->{'handler'})
1578 0 0 0 defined $inj->{'dpath'} and scalar @{$inj->{'dpath'};} > 1
0 0 0 defined $inj->{'dpath'} and scalar @{$inj->{'dpath'};} > 1 and defined $parentkey
1587 0 0 0 defined $last and $last eq '$:' . $parentkey
1623 0 0 0 isfunc($val) && (is_none($ref) || defined $ref && index($ref, '$') == 0)
1624 0 0 0 $inj->{'mode'} == 4 and $inj->{'full'}
1638 0 0 0 defined $val and not ref $val
1664 0 0 0 not ref $found and _is_string_sv($found)
0 0 0 not ref $found and _is_number_sv($found)
1672 0 0 0 defined $inj and isfunc($inj->{'handler'})
1684 0 0 0 defined $injdef && defined $injdef->{'mode'}
1703 0 0 0 defined $val and not ref $val
0 0 0 defined $val and not ref $val and _is_string_sv($val)
1740 0 0 0 is_sentinel($val) and (_map_keys($val))[0] eq "`\$SKIP`"
1745 0 0 0 is_sentinel($val) && (_map_keys($val))[0] eq '`$SKIP`'
0 0 0 $inj->{'modify'} and not is_sentinel($val) && (_map_keys($val))[0] eq '`$SKIP`'
1816 0 0 0 $expected != 2147483647 and not $atype & $expected
2082 0 0 0 defined $v and not ref $v
0 0 0 defined $v and not ref $v and $v eq "`\$REF`"
2092 0 0 0 $hasSubRef and is_none($tval)
2104 0 0 0 islist($grandparent) and $inj->{'prior'}
2207 0 0 0 defined $injdef && defined $injdef->{'errs'}
2208 0 0 0 $injdef && $injdef->{'errs'}
2223 0 0 0 defined $extraData && !isempty($extraData)
2252 0 0 0 size($errs) > 0 and not $collect
2281 0 0 0 defined $out and not ref $out
0 0 0 defined $out and not ref $out and $out eq ""
2452 0 0 0 not $exactmatch and isnode($tval)
2480 0 0 0 $a_na and $b_na
2482 0 0 0 is_jnull($a) and is_jnull($b)
2484 0 0 0 is_jbool($a) and is_jbool($b)
2487 0 0 0 _is_number_sv($a) and _is_number_sv($b)
2499 0 0 0 is_sentinel($pval) and (_map_keys($pval))[0] eq "`\$SKIP`"
2503 0 0 0 not $exact_bool and is_none($cval)
2505 0 0 0 $ptype & 33554432 and defined $pval
0 0 0 $ptype & 33554432 and defined $pval and not ref $pval
0 0 0 $ptype & 33554432 and defined $pval and not ref $pval and index($pval, "\$") != -1
2509 0 0 0 $ptype != $ctype and not is_none($pval)
2525 0 0 0 is_jbool($open_flag) && ${$open_flag;}
2526 0 0 0 size($pkeys) > 0 and not $is_open
2567 0 0 0 defined $ref and not ref $ref
0 0 0 defined $ref and not ref $ref and $ref =~ /$R_META_PATH/u
2584 0 0 0 defined $injdef && defined $injdef->{'errs'}
2585 0 0 0 $injdef && $injdef->{'errs'}
2621 0 0 0 size($errs) > 0 and not $collect
2724 0 0 0 defined $point && defined $term && !ref($point) && !ref($term) && &looks_like_number($pc) && &looks_like_number($tc)
2728 0 0 0 defined $point && defined $term && "$point" gt "$term"
2732 0 0 0 defined $point && defined $term && "$point" lt "$term"
2736 0 0 0 defined $point && defined $term && "$point" ge "$term"
2740 0 0 0 defined $point && defined $term && "$point" le "$term"
2745 0 0 0 defined $term && $s =~ /$term/u
2865 0 3 1 length $whole == 0 and (pos $input // 0) >= length $input

or 2 conditions

line l !l condition
311 0 0 builtin::reftype($ref) // ""
321 0 0 builtin::reftype($ref) // ""
1572 0 0 $inj->{'meta'}{'__d'} // 0
1793 0 0 $PLACEMENT{$inj->{'mode'}} // "unknown"
0 0 $PLACEMENT{$_} // "?"
2167 0 0 $name // ""
2308 0 0 $TNAME_TO_BIT{$tname} // 0
2865 4 0 pos $input // 0

or 3 conditions

line l !l&&r !l&&!r condition
382 0 0 0 is_none($val) or is_jnull($val)
0 0 0 is_none($val) or is_jnull($val) or is_sentinel($val)
0 0 0 is_none($val) or is_jnull($val) or is_sentinel($val) or is_jbool($val)
384 0 0 0 builtin::reftype($val) // ref $val
385 0 0 0 $r eq "HASH" or $r eq "ARRAY"
392 0 0 0 is_none($val) or is_jnull($val)
0 0 0 is_none($val) or is_jnull($val) or is_sentinel($val)
0 0 0 is_none($val) or is_jnull($val) or is_sentinel($val) or is_jbool($val)
394 0 0 0 builtin::reftype($val) // ref $val
401 0 0 0 is_none($val) or is_jnull($val)
0 0 0 is_none($val) or is_jnull($val) or is_sentinel($val)
0 0 0 is_none($val) or is_jnull($val) or is_sentinel($val) or is_jbool($val)
403 0 0 0 builtin::reftype($val) // ref $val
410 0 0 0 is_none($k) or is_jnull($k)
421 0 0 0 not defined $val or is_none($val)
0 0 0 not defined $val or is_none($val) or is_jnull($val)
437 0 0 0 not defined $val or is_none($val)
0 0 0 not defined $val or is_none($val) or is_jnull($val)
529 0 0 0 not defined $value or is_none($value)
541 0 0 0 $value =~ /[.eE]/u or int $value != $value
564 0 0 0 $k < 0 or $k >= $len
568 0 0 0 not defined $v or is_none($v)
0 0 0 not defined $v or is_none($v) or is_jnull($v)
587 0 0 0 not defined $v or is_jnull($v)
0 0 0 not defined $v or is_jnull($v) or is_none($v)
602 0 0 0 $k < 0 or $k >= $len
617 0 0 0 not defined $key or is_none($key)
650 0 0 0 $k < 0 or $k >= $len
764 0 0 0 $i < $sarr - 1 or not $url
825 0 0 0 is_none($val) || !defined($val)
865 0 0 0 not defined $val or is_jnull($val)
971 0 0 0 not defined $val or is_jnull($val)
0 0 0 not defined $val or is_jnull($val) or is_none($val)
1007 0 0 0 is_none($val) or is_jnull($val)
0 0 0 is_none($val) or is_jnull($val) or is_jbool($val)
1039 0 0 0 $k < 0 or $k >= $len
1115 0 0 0 $c eq " " or $c eq "\t"
0 0 0 $c eq " " or $c eq "\t" or $c eq "\n"
0 0 0 $c eq " " or $c eq "\t" or $c eq "\n" or $c eq "\r"
1132 0 0 0 $c eq "t" or $c eq "f"
0 0 0 $c eq "t" or $c eq "f" or $c eq "n"
1318 0 0 0 not defined $a or is_none($a)
1435 0 0 0 not defined $path_in && defined $store or $numparts == 1 and $parts[0] eq ""
1603 0 0 0 not defined $ancestor or $ancestor < 2
1610 0 0 0 $ancestor > $nlen or $ancestor > $plen
1943 0 0 0 !defined($src) || is_none($src)
1999 0 0 0 is_none($src) or not defined $src
2266 0 0 0 !defined($v) || is_none($v) || is_jnull($v)
2338 0 0 0 not defined $tval or is_none($tval)
2384 0 0 0 not islist($parent) or $keyI != 0
2432 0 0 0 not islist($parent) or $keyI != 0
2453 0 0 0 $currentstr //= stringify($inj->{'dparent'})
2478 0 0 0 !defined($a) || is_none($a)
2479 0 0 0 !defined($b) || is_none($b)
2481 0 0 0 $a_na or $b_na
2483 0 0 0 is_jnull($a) or is_jnull($b)
2485 0 0 0 is_jbool($a) or is_jbool($b)
2486 0 0 0 ref $a or ref $b
2503 0 0 0 is_none($inj) or not $exact_bool and is_none($cval)