Condition Coverage

lib/DBIx/Struct.pm
Criterion Covered Total %
condition 123 346 35.5


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 8 4 0 $chr->{'NULLABLE'} == 0 and not defined $chr->{'COLUMN_DEF'}
1292 4 2 0 not @pkeys and @required
1362 0 8 0 $ti->{'TYPE_NAME'} and $ti->{'TYPE_NAME'} =~ /^time/u
1364 0 8 0 $ti->{'TYPE_NAME'} and $ti->{'TYPE_NAME'} =~ /^json/u
1645 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 3 defined $_[1] and CORE::ref $_[1] eq 'ARRAY'
0 3 4 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 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 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 0 1 defined $_[1] and CORE::ref $_[1] eq 'ARRAY'
0 0 0 defined $_[1] and CORE::ref $_[1] eq 'ARRAY'
13 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 10 3 CORE::ref $self and @$self > 1
10 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
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
3 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 3 0 ref $self and @$self > 1
3 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
1768 0 1 4 $i + 1 < @linked_list and substr($linked_list[$i + 1], 0, 1) ne '-'
1770 0 2 2 $cols and not $cols =~ /^\d|^true$/u
0 2 0 $cols =~ /^\d+$/u and $cols == 0
1840 0 1 0 $using_on eq 'on' and ref $nt->[3][1]
1875 0 0 0 $sql_grp and defined $having
1929 0 10 8 defined $_[$i] and not ref $_[$i]
1971 18 0 2 $sql_grp and defined $having
1985 4 1 15 !ref($table) && index($table, ' ') == -1
1992 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'}
1297 0 0 0 not exists $req{$ukr->{'COLUMN_NAME'}} or defined $ukr->{'FILTER_CONDITION'}
1314 4 0 0 $_->{'PKTABLE_NAME'} or $_->{'UK_TABLE_NAME'}
1321 0 4 0 $_->{'PKTABLE_NAME'} ||= $_->{'UK_TABLE_NAME'}
1322 0 4 0 $_->{'PKCOLUMN_NAME'} ||= $_->{'UK_COLUMN_NAME'}
1331 4 0 0 $_->{'PKTABLE_NAME'} or $_->{'UK_TABLE_NAME'}
1338 0 4 0 $_->{'PKTABLE_NAME'} || $_->{'UK_TABLE_NAME'}
1339 0 4 0 $_->{'PKCOLUMN_NAME'} || $_->{'UK_COLUMN_NAME'}
1426 4 0 0 $fk->{'PKTABLE_NAME'} || $fk->{'UK_TABLE_NAME'}
1427 4 0 0 $fk->{'PKCOLUMN_NAME'} || $fk->{'UK_COLUMN_NAME'}
1434 4 0 0 $fn_suffix =~ s/^${pk}_*//iu or $fn_suffix =~ s/_$pk(?=[^a-z]|$)//iu
1464 4 0 0 $rk->{'PKTABLE_NAME'} || $rk->{'UK_TABLE_NAME'}
1465 4 0 0 $rk->{'PKCOLUMN_NAME'} || $rk->{'UK_COLUMN_NAME'}
1468 4 0 0 $fn =~ s/^${pk}_*//iu or $fn =~ s/_$pk(?=[^a-z]|$)//iu
1517 4 8 8 exists $pk_fields{$k} || ref $table
1541 0 0 0 exists $pk_fields{$k} || ref $table
1645 0 0 0 CORE::ref $insert{$_} eq 'ARRAY' || CORE::ref $insert{$_} eq 'HASH'
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 $set_hash{$_} eq 'ARRAY' || CORE::ref $set_hash{$_} 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'
1729 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'
1770 0 0 2 $cols =~ /^\d+$/u and $cols == 0 or $cols eq ''
1799 0 0 1 $from[$idx][3] or not $from[$idx - 1][2]
1978 14 0 6 $conditions //= $up_conditions
1979 0 0 20 $order //= $up_order
1980 0 0 20 $limit //= $up_limit
1981 0 0 20 $offset //= $up_offset