Condition Coverage

lib/DBIx/Struct.pm
Criterion Covered Total %
condition 124 346 35.8


and 3 conditions

line !l l&&!r l&&r condition
361 1 0 0 $args[$i] eq 'camel_case_map' and 'CODE' eq ref $args[$i]
364 0 3 0 not $defconn and check_package_scalar($connector_module, 'conn')
432 2 0 0 $dsn and not $dsn =~ /^dbi:/iu
515 0 0 1 do { "${user_schema_namespace}::${uncn}::" }->{'ISA'} && "${user_schema_namespace}::$uncn"->isa($ncn)
2 1 0 keys %{"${user_schema_namespace}::${uncn}::";} and not do { "${user_schema_namespace}::${uncn}::" }->{'ISA'} && "${user_schema_namespace}::$uncn"->isa($ncn)
570 11 7 2 $type eq 'First' and not $limit
573 11 6 3 $limit and $limit == 1
621 14 0 6 $limit && $limit > 1 && $type ne 'One'
1092 0 0 0 $href and %$href
1107 0 0 0 $href and %$href
1191 4 0 0 $type_name =~ /date/iu and $type_name =~ /time/iu
1218 3 0 2 do { "${user_schema_namespace}::${uncn}::" }->{'ISA'} and "${user_schema_namespace}::$uncn"->isa($ncn)
1282 8 4 0 $chr->{'NULLABLE'} == 0 and not defined $chr->{'COLUMN_DEF'}
1289 4 2 0 not @pkeys and @required
1359 0 8 0 $ti->{'TYPE_NAME'} and $ti->{'TYPE_NAME'} =~ /^time/u
1361 0 8 0 $ti->{'TYPE_NAME'} and $ti->{'TYPE_NAME'} =~ /^json/u
1642 0 0 0 $self and "$self"->can('tableName')
0 0 0 $self and "$self"->can('tableName') and $method =~ /^find/u
0 0 0 $self and "$self"->can('tableName')
0 0 0 $self and "$self"->can('tableName') and $method =~ /^find/u
0 0 0 $self and "$self"->can('tableName')
0 0 0 $self and "$self"->can('tableName') and $method =~ /^find/u
0 0 5 defined $_[1] and ref $_[1] eq 'ARRAY'
0 0 0 ref $insert{$_} eq 'ARRAY' and ref $insert{$_}[0] eq 'SCALAR'
0 0 0 ref $insert{$_} eq 'REF' and ref ${$insert{$_};} eq 'ARRAY'
0 0 0 exists $json_fields{$_} and ref $insert{$_} eq 'ARRAY' || ref $insert{$_} eq 'HASH'
0 0 2 defined $_[1] and CORE::ref $_[1] eq 'ARRAY'
0 0 4 defined $_[1] and ref $_[1] eq 'ARRAY'
0 0 0 ref $insert{$_} eq 'ARRAY' and ref $insert{$_}[0] eq 'SCALAR'
0 0 0 ref $insert{$_} eq 'REF' and ref ${$insert{$_};} eq 'ARRAY'
0 0 0 exists $json_fields{$_} and ref $insert{$_} eq 'ARRAY' || ref $insert{$_} eq 'HASH'
0 0 1 defined $_[1] and CORE::ref $_[1] eq 'ARRAY'
0 3 3 defined $_[1] and CORE::ref $_[1] eq 'ARRAY'
2 0 1 CORE::ref $insert{$_} eq 'ARRAY' and CORE::ref $insert{$_}[0] eq 'SCALAR'
2 0 0 CORE::ref $insert{$_} eq 'REF' and CORE::ref ${$insert{$_};} eq 'ARRAY'
1 0 0 exists $json_fields{$_} and CORE::ref $insert{$_} eq 'ARRAY' || CORE::ref $insert{$_} eq 'HASH'
0 0 1 defined $_[1] and CORE::ref $_[1] eq 'ARRAY'
0 0 1 defined $_[1] and CORE::ref $_[1] eq 'ARRAY'
4 0 0 @_ > 1 and ref $_[1] eq 'HASH'
0 0 0 ref $set_hash{$_} eq 'ARRAY' and ref $set_hash{$_}[0] eq 'SCALAR'
0 0 0 ref $set_hash{$_} eq 'REF' and ref ${$set_hash{$_};} eq 'ARRAY'
0 0 0 exists $json_fields{$_} and ref $set_hash{$_} eq 'ARRAY' || ref $set_hash{$_} eq 'HASH'
0 4 0 ref $self and @$self > 1
4 0 0 ref $self and @$self > 1 and %{$self->[1];}
0 0 0 ref $column_value eq 'ARRAY' and ref $column_value->[0] eq 'SCALAR'
0 0 0 ref $column_value eq 'REF' and ref ${$column_value;} eq 'ARRAY'
0 0 0 ref $column_value and ref($column_value) =~ /^DBIx::Struct::JSON/u
11 0 1 @_ > 1 and CORE::ref $_[1] eq 'HASH'
1 0 0 CORE::ref $set_hash{$_} eq 'ARRAY' and CORE::ref $set_hash{$_}[0] eq 'SCALAR'
1 0 0 CORE::ref $set_hash{$_} eq 'REF' and CORE::ref ${$set_hash{$_};} eq 'ARRAY'
1 0 0 exists $json_fields{$_} and CORE::ref $set_hash{$_} eq 'ARRAY' || CORE::ref $set_hash{$_} eq 'HASH'
0 8 3 CORE::ref $self and @$self > 1
8 0 3 CORE::ref $self and @$self > 1 and %{$self->[1];}
2 0 1 CORE::ref $column_value eq 'ARRAY' and CORE::ref $column_value->[0] eq 'SCALAR'
2 0 0 CORE::ref $column_value eq 'REF' and CORE::ref ${$column_value;} eq 'ARRAY'
1 1 0 CORE::ref $column_value and CORE::ref($column_value) =~ /^DBIx::Struct::JSON/u
5 0 0 @_ > 1 and ref $_[1] eq 'HASH'
0 0 0 ref $set_hash{$_} eq 'ARRAY' and ref $set_hash{$_}[0] eq 'SCALAR'
0 0 0 ref $set_hash{$_} eq 'REF' and ref ${$set_hash{$_};} eq 'ARRAY'
0 0 0 exists $json_fields{$_} and ref $set_hash{$_} eq 'ARRAY' || ref $set_hash{$_} eq 'HASH'
0 5 0 ref $self and @$self > 1
5 0 0 ref $self and @$self > 1 and %{$self->[1];}
0 0 0 ref $column_value eq 'ARRAY' and ref $column_value->[0] eq 'SCALAR'
0 0 0 ref $column_value eq 'REF' and ref ${$column_value;} eq 'ARRAY'
0 0 0 ref $column_value and ref($column_value) =~ /^DBIx::Struct::JSON/u
1765 0 1 4 $i + 1 < @linked_list and substr($linked_list[$i + 1], 0, 1) ne '-'
1767 0 2 2 $cols and not $cols =~ /^\d|^true$/u
0 2 0 $cols =~ /^\d+$/u and $cols == 0
1837 0 1 0 $using_on eq 'on' and ref $nt->[3][1]
1872 0 0 0 $sql_grp and defined $having
1926 0 10 8 defined $_[$i] and not ref $_[$i]
1968 18 0 2 $sql_grp and defined $having
1982 4 1 15 !ref($table) && index($table, ' ') == -1
1989 1 10 4 $have_conditions and not ref $conditions

or 2 conditions

line l !l condition
557 17 3 $+{'what'} || 'All'
559 6 14 $+{'distinct'} // 0
561 18 2 $+{'type'} // 'All'
564 7 13 $+{'column'} // ''
567 4 16 $+{'asc'} || 'Asc'

or 3 conditions

line l !l&&r !l&&!r condition
430 0 0 2 $connector_pool or $conn
556 18 2 0 $find =~ s/^find(?.*?)By(?![[:lower:]])//u or $find =~ s/^find(?.*)//u
1191 0 16 4 $type_name =~ /int(\d+)?$/iu or $type_name =~ /integer/iu
16 0 4 $type_name =~ /int(\d+)?$/iu or $type_name =~ /integer/iu or $type_name =~ /bit$/u
16 0 4 $type_name =~ /int(\d+)?$/iu or $type_name =~ /integer/iu or $type_name =~ /bit$/u or $type_name =~ /float|double|real|decimal|numeric/iu
1235 43 6 0 $ncn ||= make_name($table)
1281 4 0 8 $chr->{'COLUMN_DEF'} //= $chr->{'mysql_is_auto_increment'}
1294 0 0 0 not exists $req{$ukr->{'COLUMN_NAME'}} or defined $ukr->{'FILTER_CONDITION'}
1311 4 0 0 $_->{'PKTABLE_NAME'} or $_->{'UK_TABLE_NAME'}
1318 0 4 0 $_->{'PKTABLE_NAME'} ||= $_->{'UK_TABLE_NAME'}
1319 0 4 0 $_->{'PKCOLUMN_NAME'} ||= $_->{'UK_COLUMN_NAME'}
1328 4 0 0 $_->{'PKTABLE_NAME'} or $_->{'UK_TABLE_NAME'}
1335 0 4 0 $_->{'PKTABLE_NAME'} || $_->{'UK_TABLE_NAME'}
1336 0 4 0 $_->{'PKCOLUMN_NAME'} || $_->{'UK_COLUMN_NAME'}
1423 4 0 0 $fk->{'PKTABLE_NAME'} || $fk->{'UK_TABLE_NAME'}
1424 4 0 0 $fk->{'PKCOLUMN_NAME'} || $fk->{'UK_COLUMN_NAME'}
1431 4 0 0 $fn_suffix =~ s/^${pk}_*//iu or $fn_suffix =~ s/_$pk(?=[^a-z]|$)//iu
1461 4 0 0 $rk->{'PKTABLE_NAME'} || $rk->{'UK_TABLE_NAME'}
1462 4 0 0 $rk->{'PKCOLUMN_NAME'} || $rk->{'UK_COLUMN_NAME'}
1465 4 0 0 $fn =~ s/^${pk}_*//iu or $fn =~ s/_$pk(?=[^a-z]|$)//iu
1514 4 8 8 exists $pk_fields{$k} || ref $table
1538 0 0 0 exists $pk_fields{$k} || ref $table
1642 0 0 0 ref $insert{$_} eq 'ARRAY' || ref $insert{$_} eq 'HASH'
0 0 0 ref $insert{$_} eq 'ARRAY' || ref $insert{$_} eq 'HASH'
0 0 0 CORE::ref $insert{$_} eq 'ARRAY' || CORE::ref $insert{$_} eq 'HASH'
0 0 0 ref $set_hash{$_} eq 'ARRAY' || ref $set_hash{$_} eq 'HASH'
0 0 0 CORE::ref $set_hash{$_} eq 'ARRAY' || CORE::ref $set_hash{$_} eq 'HASH'
0 0 0 ref $set_hash{$_} eq 'ARRAY' || ref $set_hash{$_} eq 'HASH'
1726 2 0 3 $cmd eq 'columns' or $cmd eq 'column'
2 1 2 $cmd eq 'columns' or $cmd eq 'column' or $cmd eq 'distinct'
1 2 0 $cmd eq 'columns' or $cmd eq 'column' or $cmd eq 'distinct' or $cmd eq 'count'
3 0 0 $cmd eq 'columns' or $cmd eq 'column' or $cmd eq 'distinct' or $cmd eq 'count' or $cmd eq 'all'
1767 0 0 2 $cols =~ /^\d+$/u and $cols == 0 or $cols eq ''
1796 0 0 1 $from[$idx][3] or not $from[$idx - 1][2]
1975 14 0 6 $conditions //= $up_conditions
1976 0 0 20 $order //= $up_order
1977 0 0 20 $limit //= $up_limit
1978 0 0 20 $offset //= $up_offset