Condition Coverage

blib/lib/DBIx/Perlish/Parse.pm
Criterion Covered Total %
condition 227 394 57.6


and 3 conditions

line !l l&&!r l&&r condition
180 0 0 595 $padname and not $padname->isa("B::SPECIAL")
181 591 3 1 $p{'no_fakes'} and $padname->FLAGS & 16777216
262 2 57 3 $padname->FLAGS & 16777216 and $store->{'inner'}->outid > 1
319 46 0 4 ref $ref eq "SCALAR" and not $$ref
340 0 0 0 ref $ref eq "SCALAR" and not $$ref
378 65 3 0 not defined $ref and $access == 2 || $access == 3 || $access == 4 || $access == 9 || $access == 10 || $access == 11
426 217 18 0 is_unop($op, "null") and is_svop($op->first, 'gvsv') || is_padop($op->first, 'gvsv')
217 4 13 is_unop($op, "null") and is_unop_aux($op->first, "multideref")
219 0 2 $p{'eval'} and is_binop($op, "concat")
219 0 0 $p{'eval'} and is_unop_aux($op, "multiconcat")
595 357 23 0 $p{'lvalue'} and is_unop($op, "rv2cv")
600 290 4 86 $S->{'parsing_return'} and not $S->{'inside_aggregate'}
613 5 22 0 $S->{'tabs'} and keys %{$$S{"tabs"};}
27 0 0 $S->{'vars'} and keys %{$$S{"vars"};}
660 0 1 215 $c and $c eq "attributes"
684 201 1 1 lc $attr[0] eq "table" and @attr > 1
832 24 0 4 not defined $placeholder and $S->{'gen_args'}{'inline'}
853 43 0 55 $sv->isa("B::IV") and not $sv->isa("B::PVIV")
43 0 0 $sv->isa("B::NV") and not $sv->isa("B::PVNV")
957 0 0 83 $gv and $$gv
960 2 0 81 $p{'get_name'} and $gv->isa("B::IV")
962 81 0 0 ref $subref eq "REF" and ref $$subref eq "CODE"
1067 12 0 1 is_unop($sub, "rv2av") and is_op($sub->first, "padsv")
9 0 0 is_unop($sub, "srefgen") and is_unop($sub->first, "null")
9 0 0 is_unop($sub, "srefgen") and is_unop($sub->first, "null") and is_listop($sub->first->first, "anonlist")
1083 0 0 7 $sv->isa("B::IV") and not $sv->isa("B::PVIV")
0 0 0 $sv->isa("B::NV") and not $sv->isa("B::PVNV")
1132 3 5 2 $nret != 1 and not $p{'returns_dont_care'}
8 0 2 $nret != 1 and not $p{'returns_dont_care'} and not $flags{'returns_dont_care'}
1143 0 15 12 $op->name eq "sassign" and is_listop($op->last, "list")
15 0 12 $op->name eq "sassign" and is_listop($op->last, "list") and is_pushmark_or_padrange($op->last->first)
15 0 12 $op->name eq "sassign" and is_listop($op->last, "list") and is_pushmark_or_padrange($op->last->first) and is_unop($op->last->first->sibling, "entersub")
1150 0 0 2 is_unop($op->first, "entersub") and my $sql = try_parse_funcall($S, $op->first, "select", 0)
1203 0 1174 1 not is_null($op) and is_op($op, "null")
1259 9 0 0 ($S->{'gen_args'}{'flavor'} || '') eq 'oracle' && $func eq 'except'
1268 0 0 1 defined $r and $r eq ""
1289 10 12 4 $S->{'parsing_return'} and $S->{'aggregates'}{lc $func}
1293 16 9 1 not $S->{'parsing_return'} and $S->{'aggregates'}{lc $func}
1300 10 12 4 $S->{'parsing_return'} and $S->{'aggregates'}{lc $func}
1305 22 3 1 ($S->{'gen_args'}{'flavor'} || '') eq "oracle" and lc $func eq "sysdate"
25 0 1 ($S->{'gen_args'}{'flavor'} || '') eq "oracle" and lc $func eq "sysdate" and not @terms
1307 19 3 3 lc $func eq "extract" and @terms == 2
1313 23 0 2 lc $func eq "cast" and @terms == 2
1343 6 0 2 is_unop($c, "rv2hv") and is_op($c->first, "padsv")
1421 202 11 38 $op->flags & 64 and not $S->{'parsing_return'}
213 27 11 $op->flags & 64 and not $S->{'parsing_return'} and $binop2_map{$op->name}
38 0 11 $op->flags & 64 and not $S->{'parsing_return'} and $binop2_map{$op->name} and is_unop($op->first, "entersub")
1520 0 0 0 @args and is_op($args[0], "null")
1710 0 0 4 $logop and is_logop($logop, "regcomp")
1727 0 0 0 not $case and $can_like
1836 0 3 37 2 <= @op and 3 >= @op
3 0 37 2 <= @op and 3 >= @op and is_pushmark_or_padrange($op[0])
3 0 37 2 <= @op and 3 >= @op and is_pushmark_or_padrange($op[0]) and is_binop($op[1])
1855 1 0 3 exists $join_map{$op[1]->name} and $join_map{$op[1]->name} eq "inner"
1860 1 0 30 is_unop($op[2]) and $op[2]->name eq "entersub"
2022 0 1 3 $op and not is_null($op)
2059 5 0 6 not $sv and is_op($op, "padsv")
2066 0 0 9 $sv and $const
0 2 7 $sv and $const and $const =~ /^\d+$/u
2 0 7 $sv and $const and $const =~ /^\d+$/u and $const > 0
2096 0 1 3 is_op($op->last, "padsv") and $varn = padname($S, $op->last, "no_fakes", 1)
2153 21 1 6 not $label and lc $lop->label eq "table"
2193 2141 0 8 is_binop($op, "leaveloop") and is_loop($op->first, "enterloop")
2141 0 8 is_binop($op, "leaveloop") and is_loop($op->first, "enterloop") and is_listop($op->last, "lineseq")

or 2 conditions

line l !l condition
197 12 22 $n[$k]->PVX // ""
271 2 12 $store->{'S'}{'padlists'}{$padlist->id} //= [$padlist->ARRAY]
622 15 340 $prefix ||= ""
868 12 0 $S->{'gen_args'}{'flavor'} || ''
1003 37 0 get_gv_name($S, $dbfetch) // ""
1011 2 4 $opt{'select'} //= 1
1015 6 0 $S->{'gen_args'}{'flavor'} || ''
1032 10 0 $list //= []
1040 10 0 $S->{'gen_args'}{'flavor'} || ''
1045 30 0 ref $val // ""
1072 1 0 $ary // \[]
1305 26 0 $S->{'gen_args'}{'flavor'} || ''
1456 0 0 $S->{'gen_args'}{'flavor'} || ''
1487 2 0 $S->{'gen_args'}{'flavor'} || ''
1585 0 0 $opt{'multiconcat'} // {}
1644 11 0 $S->{'gen_args'}{'flavor'} || ''
1718 19 0 $S->{'gen_args'}{'flavor'} || ''

or 3 conditions

line l !l&&r !l&&!r condition
109 1206 1 2201 is_op($op, 'pushmark') || is_op($op, 'padrange')
133 0 2 0 is_unop($op, "method") or is_methop($op, "method")
312 9 0 46 $access == 12 or $access == 5
9 31 15 $access == 12 or $access == 5 or $access == 10
31 10 5 $access == 12 or $access == 5 or $access == 10 or $access == 3
0 1 4 $access == 8 or $access == 11
1 2 2 $access == 8 or $access == 11 or $access == 13
0 0 2 $access == 1 or $access == 4
0 2 0 $access == 1 or $access == 4 or $access == 6
0 0 0 $access == 2 or $access == 9
319 0 5 45 not $ref or ref $ref eq "SCALAR" and not $$ref
340 0 0 0 not $ref or ref $ref eq "SCALAR" and not $$ref
349 10 2 20 $access == 12 || $access == 9 || $access == 10 || $access == 8 || $access == 11 || $access == 13
378 2 0 1 $access == 2 || $access == 3 || $access == 4 || $access == 9 || $access == 10 || $access == 11
390 0 0 66 $index == 0 or $index & 64
426 1 0 235 is_svop($op, "gvsv") or is_padop($op, "gvsv")
1 0 17 is_svop($op->first, 'gvsv') || is_padop($op->first, 'gvsv')
2 0 217 is_svop($op, "aelemfast") or is_padop($op, "aelemfast")
452 0 0 0 is_svop($op, "gv") or is_padop($op, "gv")
0 0 0 is_binop($op, "helem") or is_binop($op, "aelem")
487 0 0 0 is_svop($op, "gv") or is_padop($op, "gv")
0 0 0 is_binop($op, "helem") or is_binop($op, "aelem")
511 0 2 2 is_null($args[-1]) or is_null($args[-1]->sibling)
539 5 0 0 is_op($op, "padsv") or is_unop($op, "padsv_store")
613 0 0 27 $S->{'tabs'} and keys %{$$S{"tabs"};} or $S->{'vars'} and keys %{$$S{"vars"};}
675 215 0 0 is_methop($op, "method_named") or is_svop($op, "method_named")
792 0 7 340 $S->{'operation'} eq "delete" or $S->{'operation'} eq "update"
853 55 0 43 $sv->isa("B::IV") and not $sv->isa("B::PVIV") or $sv->isa("B::NV") and not $sv->isa("B::PVNV")
869 6 0 1 $flavor eq "pg" or $flavor eq "pglite"
946 81 2 0 is_svop($op, "gv") or is_svop($op, "gvsv")
0 0 0 is_padop($op, "gv") or is_padop($op, "gvsv")
992 0 37 6 is_unop($rg, "refgen") or is_unop($rg, "srefgen")
1040 0 10 0 $S->{'gen_args'}{'in_arg_limit'} // (($S->{'gen_args'}{'flavor'} || '') eq "oracle" ? 500 : 2000000000)
1067 3 0 9 is_listop($sub, "anonlist") or is_unop($sub, "srefgen") and is_unop($sub->first, "null") and is_listop($sub->first->first, "anonlist")
1083 7 0 0 $sv->isa("B::IV") and not $sv->isa("B::PVIV") or $sv->isa("B::NV") and not $sv->isa("B::PVNV")
1179 0 6 7 is_unop($op->first, "srefgen") or is_listop($op->first, "anonhash")
1214 0 11 0 is_unop($rg, "refgen") or is_unop($rg, "srefgen")
1239 44 0 347 is_svop($op, "gv") or is_padop($op, "gv")
1245 7 2 0 @args == 1 or @args == 2
1374 5 0 1 is_op($op, "padsv") or is_unop($op, "padsv_store")
1457 0 0 0 $flavor eq "pg" or $flavor eq "pglite"
1468 13 0 227 is_binop($op, "concat") or is_unop_aux($op, "multiconcat")
1475 27 0 1 $op->name eq "sassign" or $op->name eq "padsv_store"
1478 138 8 27 $sqlop eq "=" or $sqlop eq "<>"
1488 1 0 1 $flavor eq "pg" or $flavor eq "pglite"
1519 0 0 0 is_null($args[-1]) or is_null($args[-1]->sibling)
1615 0 0 6 $S->{'operation'} eq "delete" or $S->{'operation'} eq "update"
1631 0 0 10 $S->{'operation'} eq "delete" or $S->{'operation'} eq "update"
1725 18 0 1 $flavor eq "pg" or $flavor eq "pglite"
1793 18 1 0 $flavor eq "pg" or $flavor eq "oracle"
1898 3 1 25 scalar grep({@{$S2->{$_};};} "group_by", "order_by", "autogroup_by", "ret_values", "joins") or $S2->{'alias'} ne $S->{'alias'}
1967 1 0 8 is_binop($op) or $op->name eq "sassign"
2 0 0 is_listop($op, "leave") or is_listop($op, "scope")
1998 0 0 4 $S->{'operation'} eq 'delete' || $S->{'operation'} eq 'update'
2018 3 3 3 is_listop($op, "list") or is_listop($op, "sort")
2193 214 0 1830 is_binop($op) or is_unop($op, "padsv_store")