Condition Coverage

lib/DBIx/Struct.pm
Criterion Covered Total %
condition 126 352 35.8


and 3 conditions

line !l l&&!r l&&r condition
364 1 0 0 $args[$i] eq 'camel_case_map' and 'CODE' eq ref $args[$i]
367 0 3 0 not $defconn and check_package_scalar($connector_module, 'conn')
435 2 0 0 $dsn and not $dsn =~ /^dbi:/iu
518 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)
573 11 7 2 $type eq 'First' and not $limit
576 11 6 3 $limit and $limit == 1
624 14 0 6 $limit && $limit > 1 && $type ne 'One'
1095 0 0 0 $href and %$href
1110 0 0 0 $href and %$href
1194 4 0 0 $type_name =~ /date/iu and $type_name =~ /time/iu
1221 3 0 2 do { "${user_schema_namespace}::${uncn}::" }->{'ISA'} and "${user_schema_namespace}::$uncn"->isa($ncn)
1285 4 8 0 not defined $chr->{'COLUMN_DEF'} and $_->can('sqlite_table_column_metadata')
1289 8 4 0 $chr->{'NULLABLE'} == 0 and not defined $chr->{'COLUMN_DEF'}
1296 4 2 0 not @pkeys and @required
1366 0 8 0 $ti->{'TYPE_NAME'} and $ti->{'TYPE_NAME'} =~ /^time/u
1368 0 8 0 $ti->{'TYPE_NAME'} and $ti->{'TYPE_NAME'} =~ /^json/u
1649 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 3 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 2 defined $_[1] and CORE::ref $_[1] eq 'ARRAY'
0 0 1 defined $_[1] and CORE::ref $_[1] eq 'ARRAY'
0 0 1 defined $_[1] and CORE::ref $_[1] eq 'ARRAY'
0 0 3 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 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'
6 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 6 0 ref $self and @$self > 1
6 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
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
9 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 6 3 CORE::ref $self and @$self > 1
6 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
1772 0 1 4 $i + 1 < @linked_list and substr($linked_list[$i + 1], 0, 1) ne '-'
1774 0 2 2 $cols and not $cols =~ /^\d|^true$/u
0 2 0 $cols =~ /^\d+$/u and $cols == 0
1844 0 1 0 $using_on eq 'on' and ref $nt->[3][1]
1879 0 0 0 $sql_grp and defined $having
1933 0 10 8 defined $_[$i] and not ref $_[$i]
1975 18 0 2 $sql_grp and defined $having
1989 4 1 15 !ref($table) && index($table, ' ') == -1
1996 1 10 4 $have_conditions and not ref $conditions

or 2 conditions

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

or 3 conditions

line l !l&&r !l&&!r condition
433 0 0 2 $connector_pool or $conn
559 18 2 0 $find =~ s/^find(?.*?)By(?![[:lower:]])//u or $find =~ s/^find(?.*)//u
1194 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
1238 43 6 0 $ncn ||= make_name($table)
1284 4 0 8 $chr->{'COLUMN_DEF'} //= $chr->{'mysql_is_auto_increment'}
1287 0 0 0 $chr->{'COLUMN_DEF'} //= $col_info->{'auto_increment'}
1301 0 0 0 not exists $req{$ukr->{'COLUMN_NAME'}} or defined $ukr->{'FILTER_CONDITION'}
1318 4 0 0 $_->{'PKTABLE_NAME'} or $_->{'UK_TABLE_NAME'}
1325 0 4 0 $_->{'PKTABLE_NAME'} ||= $_->{'UK_TABLE_NAME'}
1326 0 4 0 $_->{'PKCOLUMN_NAME'} ||= $_->{'UK_COLUMN_NAME'}
1335 4 0 0 $_->{'PKTABLE_NAME'} or $_->{'UK_TABLE_NAME'}
1342 0 4 0 $_->{'PKTABLE_NAME'} || $_->{'UK_TABLE_NAME'}
1343 0 4 0 $_->{'PKCOLUMN_NAME'} || $_->{'UK_COLUMN_NAME'}
1430 4 0 0 $fk->{'PKTABLE_NAME'} || $fk->{'UK_TABLE_NAME'}
1431 4 0 0 $fk->{'PKCOLUMN_NAME'} || $fk->{'UK_COLUMN_NAME'}
1438 4 0 0 $fn_suffix =~ s/^${pk}_*//iu or $fn_suffix =~ s/_$pk(?=[^a-z]|$)//iu
1468 4 0 0 $rk->{'PKTABLE_NAME'} || $rk->{'UK_TABLE_NAME'}
1469 4 0 0 $rk->{'PKCOLUMN_NAME'} || $rk->{'UK_COLUMN_NAME'}
1472 4 0 0 $fn =~ s/^${pk}_*//iu or $fn =~ s/_$pk(?=[^a-z]|$)//iu
1521 4 8 8 exists $pk_fields{$k} || ref $table
1545 0 0 0 exists $pk_fields{$k} || ref $table
1649 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 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'
1733 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'
1774 0 0 2 $cols =~ /^\d+$/u and $cols == 0 or $cols eq ''
1803 0 0 1 $from[$idx][3] or not $from[$idx - 1][2]
1982 14 0 6 $conditions //= $up_conditions
1983 0 0 20 $order //= $up_order
1984 0 0 20 $limit //= $up_limit
1985 0 0 20 $offset //= $up_offset