Condition Coverage

blib/lib/Perinci/Sub/Gen/AccessTable.pm
Criterion Covered Total %
condition 212 291 72.8


and 3 conditions

line !l l&&!r l&&r condition
46 0 0 12 $args and $args->{$arg}
242 1 1 32 $opts->{'enable_ordering'} and $opts->{'enable_random_ordering'}
290 1 1 32 $opts->{'enable_filtering'} and $opts->{'enable_search'}
308 1 1 32 $opts->{'enable_filtering'} and $opts->{'enable_search'}
319 212 0 29 defined $fspec->{'filterable'} and not $fspec->{'filterable'}
583 162 0 6 defined $args->{$f} and __is_filter_arg($f, $func_meta)
593 162 0 8 $exists and not $f ~~ \@filter_fields
608 168 0 4 $exists and not $f ~~ \@filter_fields
630 1030 0 3 defined $args->{$f} and __is_filter_arg($f, $func_meta)
638 1030 0 3 defined $args->{$f} and __is_filter_arg($f, $func_meta)
662 1013 0 22 $exists and not $f ~~ \@filter_fields
685 517 0 4 $exists and not $f ~~ \@filter_fields
706 176 0 1 defined $qq && @$qq
777 0 179 11936 ref $av->{'schema'} and ref $av->{'schema'}[1]
179 11208 728 ref $av->{'schema'} and ref $av->{'schema'}[1] and defined $av->{'schema'}[1]{'default'}
782 11757 349 9 $ak =~ /\A(exclude_fields|fields)\z/ and defined $args{$ak}
886 97 14 8 $op eq "==" and $stringy
111 5 3 $op eq "==" and $stringy and $cic
97 14 5 $op eq "==" and $stringy
97 10 4 $op eq "==" and $ftype eq "date"
89 8 0 $op eq "!=" and $stringy
97 0 0 $op eq "!=" and $stringy and $cic
89 8 0 $op eq "!=" and $stringy
89 0 8 $op eq "!=" and $ftype eq "date"
63 22 4 $op eq ">=" and $stringy
85 4 0 $op eq ">=" and $stringy and $cic
63 22 4 $op eq ">=" and $stringy
63 18 4 $op eq ">=" and $ftype eq "date"
55 4 4 $op eq ">" and $stringy
59 4 0 $op eq ">" and $stringy and $cic
55 4 4 $op eq ">" and $stringy
55 0 4 $op eq ">" and $ftype eq "date"
39 12 4 $op eq "<=" and $stringy
51 4 0 $op eq "<=" and $stringy and $cic
39 12 4 $op eq "<=" and $stringy
39 8 4 $op eq "<=" and $ftype eq "date"
31 4 4 $op eq "<" and $stringy
31 4 0 $op eq "<" and $stringy
31 0 4 $op eq "<" and $ftype eq "date"
19 4 0 $op eq "pos" and $cic
15 4 0 $op eq "!pos" and $cic
889 8 0 0 $stringy and $cic
900 8 0 0 $stringy and $cic
911 8 4 0 $stringy and $cic
918 8 4 0 $stringy and $cic
931 0 0 4 $dopn and $d
943 4 0 4 $dopn and $d
955 0 0 4 $dopn and $d
967 0 0 4 $dopn and $d
979 0 0 4 $dopn and $d
991 0 0 4 $dopn and $d

or 2 conditions

line l !l condition
69 1920 0 $schema->[1] //= {}
136 0 34 ($opts->{'summary'} // $table_spec->{'summary'}) // "REPLACE ME"
0 34 $opts->{'description'} // "REPLACE ME"
174 1 33 $opts->{'default_detail'} // 0
242 1 31 $opts->{'default_random'} // 0
308 32 0 $opts->{'default_query_boolean'} // "and"
321 1 211 $fspec->{'include_by_default'} // 1
507 33 0 $opts->{'custom_filters'} // {}
516 1 33 $opts->{'extra_args'} // {}
520 1 33 $opts->{'extra_props'} // {}
544 2 60 $fspecs->{$_}{'include_by_default'} // 1
557 3 3 $args->{'with_field_names'} //= 0
560 0 163 $args->{'with_field_names'} //= 0
690 177 0 $opts->{'custom_filters'} // {}
694 4 0 $cf->{'fields'} // []
714 0 0 ($args->{'query_boolean'} // $opts->{'default_query_boolean'}) // "and"
758 175 0 $args->{'result_start'} // 1
1564 249 0 $fspec->{'schema'} //= "any"
1568 1 33 $args{'custom_filters'} // {}
1570 2 0 $cf->{'meta'} //= {}
1571 2 0 $cf->{'meta'}{'schema'} //= "any"
1575 1 33 $args{'default_arg_values'} // {}
1623 0 34 $args{'langs'} // ["en_US"]
0 34 $args{'detail_cmdline_aliases'} // {"l", {}}
0 34 $args{'query_aliases'} // {"q", {}}
0 34 $args{'queries_aliases'} // {"q", {}}
0 34 $args{'default_query_boolean'} // "and"
0 34 $args{'query_boolean_aliases'} // {"and", {"is_flag", 1, "summary", "Shortcut for --query-boolean=and", "code", sub {
1 33 $args{'enable_filtering'} // 1
1 33 $args{'enable_search'} // 1
1 33 $args{'case_insensitive_search'} // 1
2 32 $args{'enable_ordering'} // 1
1 32 ($args{'enable_random_ordering'} // $args{'enable_ordering'}) // 1
1 33 $args{'enable_paging'} // 1
1 33 $args{'enable_field_selection'} // 1
2 32 $args{'hooks'} // {}
1634 34 0 $args{'install'} // 1

or 3 conditions

line l !l&&r !l&&!r condition
35 11 67 133 not @$data or ref $data->[0] eq "ARRAY"
40 0 133 0 not @$data or ref $data->[0] eq "HASH"
136 0 0 34 $opts->{'summary'} // $table_spec->{'summary'}
535 2227 442 4 $fspecs->{$a}{'pos'} // $fspecs->{$a}{'index'}
2027 644 2 $fspecs->{$b}{'pos'} // $fspecs->{$b}{'index'}
541 7 2 169 $args->{'detail'} or $args->{'exclude_fields'}
554 4 5 0 $args->{'with_field_names'} //= $args->{'detail'} ? 1 : 0
714 11 0 0 $args->{'query_boolean'} // $opts->{'default_query_boolean'}
741 7 0 1 not defined $fspec->{'sortable'} or $fspec->{'sortable'}
779 62 413 253 $args{$ak} //= $av->{'schema'}[1]{'default'}
818 54 119 2 __is_aoa($table_data) or __is_aoh($table_data)
827 2 0 0 __is_aoa($data) or __is_aoh($data)
872 1302 432 0 $fspecs->{$f}{'pos'} // $fspecs->{$f}{'index'}
884 48 0 139 $ftype eq 'str' || $ftype eq 'cistr'
1093 22 24 514 $args{'detail'} or $args{'fields'}
24 4 510 $args{'detail'} or $args{'fields'} or $args{'exclude_fields'}
1539 0 38 0 $args{'package'} // $caller[0]
1545 22 14 2 __is_aoa($table_data) or __is_aoh($table_data)
36 2 0 __is_aoa($table_data) or __is_aoh($table_data) or ref $table_data eq "CODE"
1623 1 0 33 $args{'enable_random_ordering'} // $args{'enable_ordering'}

xor 4 conditions

line l&&r l&&!r !l&&r !l&&!r condition
887 8 6 8 6 $r_h->{$f} xor $opn