Branch Coverage

blib/lib/RapidApp/TableSpec/Role/DBIC.pm
Criterion Covered Total %
branch 220 392 56.1


line true false branch
30 3400 21624 unless exists $match_glob_cache{$l}{$r}
66 751 0 ref $v && ref $v eq 'ARRAY' && !&List::Util::first(sub { not defined $_ unless ref $_; } , @$v) ? :
121 28 55 unless $self->Cnf_columns->{$col}
141 0 166 if $self->has_column($name)
165 265 118 unless match_glob($col, $relcol)
194 5234 940 unless match_glob($spec, $col)
196 940 0 unless my $req = $self->Cnf_columns->{$col}{'required_fetch_colspecs'}
197 0 0 unless ref $req
209 0 0 unless defined $self->Cnf_columns->{$col}{'required_fetch_columns'}
241 0 176 unless ($class->primary_columns > 0)
256 781 0 ref $_[0] eq 'HASH' ? :
258 184 597 if $opt{'relationship_info'}
266 11 770 if ($self->ResultClass->has_virtual_column($name))
268 4 7 unless (&try(sub { $self->ResultClass->column_info($name)->{'set_function'}; } ))
285 0 781 unless $opt{'profiles'}
166 615 if &List::Util::first(sub { $RapidApp::TableSpec::Column::Profile::NO_ALLOW_ADD_PROFILES{$_}; } , @{[] unless $opt{'profiles'};})
289 0 781 unless $opt{'profiles'}
167 614 if &List::Util::first(sub { $RapidApp::TableSpec::Column::Profile::NO_ALLOW_EDIT_PROFILES{$_}; } , @{[] unless $opt{'profiles'};})
293 644 137 unless $editable
294 710 71 unless $creatable
301 717 64 unless (jstrue($opt{'no_column'}))
302 133 584 if $editable
303 68 649 if $creatable
306 641 140 unless ($editable or $creatable)
307 63 578 if $opt{'editor'}
351 0 0 unless $class->can('TableSpec_cnf')
373 384 368 if (ref $colspec eq 'ARRAY')
383 0 368 if $colspec =~ /^\#/
386 283 85 unless @parts > 1
392 84 1 unless $relspec =~ /[\*\?\[\]\{]/
397 0 1 $match ? :
408 0 1 if $macro
411 0 0 unless $_ eq 'single' or $_ eq 'multi'
412 0 1 if (@accessors > 0)
420 0 1 unless $macros{'?'} or @matching_rels > 0 or scalar @rel_list == 0
508 1563 2 unless $self->m2m_rel_columns_indx->{$self->column_prefix . $_}
530 1560 2 unless $self->m2m_rel_columns_indx->{$self->column_prefix . $_}
552 0 1683 $match ? :
556 842 841 unless scalar @parts == scalar @test_parts
559 0 1151 unless my $test = shift @test_parts
560 369 782 unless match_glob($part, $test)
571 0 354 unless ref $colspecs eq 'ARRAY'
576 0 472 if $result < 0
577 472 0 if $result > 0
588 394 1802 unless exists $dist_cache{$l}{$r}
618 0 34688 $neg_flag ? :
619 0 34688 $neg_flag ? :
634 17374 17314 unless $prefix eq $test_prefix
637 2196 15118 if (match_glob($colspec, $test_col))
646 12110 1304 unless my $other_val = $self->colspec_test($spec, $col)
649 68 1236 if abs $other_val > abs $value
681 0 0 if ref $_[0] eq 'ARRAY'
709 0 0 if @columns == @matches
721 3395 0 ref $_[0] eq 'HASH' ? :
724 176 3219 unless defined $self->{'_colspec_select_columns_cache'}
726 0 3395 unless my $colspecs = $opt{'colspecs'}
727 0 3395 unless my $columns = $opt{'columns'}
736 1296 2099 if defined $self->{'_colspec_select_columns_cache'}{$colspec_select_columns_key}
739 1557 542 if ($self->has_cache)
746 683 874 if $cache_content
756 0 1416 unless ref $colspecs
757 0 1416 unless ref $columns
759 1416 0 unless $opt{'match_data'}
769 13439 10263 if $best_match
771 20450 3252 unless my $result = $self->colspec_test(@arg)
772 3252 0 if $result > 0
777 1686 1566 unless $opt{'match_data'}{$col}
782 874 542 if ($cache_key)
800 92 0 $class->can('default_TableSpec_cnf_column_order') ? :
805 0 92 unless $self->include_colspec->colspecs
814 0 92 if ref $_[0] eq 'ARRAY'
821 0 92 if $need_base
864 0 0 unless ($rel)
871 0 0 if $ndx{$column}
888 0 0 unless my $TableSpec = $self->column_TableSpec($col)
915 0 0 unless my $TableSpec = $self->related_TableSpec->{$rel}
929 0 3 if (caller 1)[3] eq 'RapidApp::TableSpec::Role::DBIC::walk_columns_deep'
930 3 0 unless $recurse
931 3 0 unless $recurse
932 3 0 unless $recurse
950 0 0 unless my $TableSpec = $self->related_TableSpec->{$rel}
969 0 0 if $rel eq ''
971 0 0 unless my $info = $Row->result_source->relationship_info($rel)
974 0 0 unless $info->{'attrs'}{'accessor'} eq 'single' or $info->{'attrs'}{'accessor'} eq 'filter'
987 0 0 if not $seen{$_}++
997 0 84 ref $_[0] eq 'HASH' ? :
1000 0 84 if defined $self->related_TableSpec->{$rel}
1003 0 84 unless my $info = $self->ResultClass->relationship_info($rel)
1007 10 74 if $relspec_prefix and $relspec_prefix ne ''
1028 84 0 if ($class->can('TableSpec_get_conf') and $class->TableSpec_has_conf('related_column_property_transforms'))
1030 0 84 if $rel_transforms->{$rel}
1039 84 0 unless ($self->no_header_transform)
1040 272 20 $_ ? :
1046 0 84 unless my $TableSpec = $self->new_TableSpec(%params)
1071 292 1476 if defined $rel
1204 46 0 if $merge_join and $join
1208 17 29 if (not defined $cond_data) { }
1221 7 22 if (ref $cond_data->{'function'} eq 'CODE') { }
1227 7 15 if ($m2m_attrs) { }
1298 0 7 if ($sqlt_type eq 'PostgreSQL') { }
1319 0 15 unless $cond_data->{'parent_source'}
1326 0 15 $p_source->can('resolve_relationship_condition') ? :
1329 15 0 if (not $rel_attrs->{'where'}) { }
1349 0 0 unless $source->resultset_attributes
1350 0 0 unless $cond_data->{'info'}{'attrs'}
1359 0 0 if ($recent_dbic) { }
1400 15 0 if ($cond_data->{'info'}{'attrs'}{'accessor'} eq 'multi') { }
1411 0 0 unless my $display_column = $source->result_class->TableSpec_get_conf('display_column')
1433 0 46 if ($get_render_col)
1435 0 0 if $render_col
1440 46 0 unless ($rel)
1448 22 24 if ($cond_data)
1478 7 17 if ($self->ResultClass->has_virtual_column($fieldName)) { }
0 17 elsif ($self->ResultClass->has_relationship($fieldName)) { }
1498 0 7 if ($info->{'join'})
1510 0 0 if ($cnf and $cnf->{'virtualized_single_rel'})
1529 0 0 if $alias eq 'me'
1551 0 0 if ($i++ == 0)
1553 0 0 if (ref $last) { }
1564 0 0 unless $set_end
1576 184 0 ref $_[0] eq 'HASH' ? :
1580 102 82 if ($opt{'profiles'})
1585 0 184 if $opt{'virtualized_single_rel'}
1586 102 82 if $self->multi_rel_columns_indx->{$rel}
1589 0 82 unless my $info = $conf->{'relationship_info'}
1594 0 82 unless defined $conf->{'displayField'}
1595 0 82 unless defined $conf->{'valueField'}
1596 0 82 unless defined $conf->{'keyField'}
1601 0 82 unless my $Source = &try(sub { $self->ResultSource->related_source($rel); } , &catch(sub { warn RED() . BOLD() . $_ . CLEAR(); return undef; } ))
1614 4 78 if &try(sub { $self->ResultSource->related_class($rel)->has_virtual_column($conf->{'displayField'}); } )
1624 82 0 if ($relTS)
1634 82 0 if $conf->{'profiles'}
1651 0 0 unless ref $rows eq 'ARRAY'
1653 0 0 if exists $row->{$upd_key_col}
1663 82 0 unless $conf->{'renderer'}
1668 80 2 $self->ResultSource->has_column($rel) ? :
1669 2 80 unless $is_also_local_col
1698 80 2 if ($use_rest and $cond_data and $rel_rest_key and $conf->{'open_url'}) { }
1700 80 0 $rel_rest_key eq $cond_data->{'foreign'} ? :
1706 0 80 $rest_key ? :
80 0 $is_phy ? :
1721 0 2 $conf->{'open_url'} ? :
1736 82 0 exists $conf->{'keyField'} ? :
1737 82 0 if ($cinfo and defined $cinfo->{'is_nullable'} and not exists $conf->{'editor'}{'allowBlank'})
1740 44 38 if $cinfo->{'is_nullable'} == 0
1741 38 44 if ($cinfo->{'is_nullable'} == 1)
1748 0 82 if $cinfo and exists $cinfo->{'default_value'}
1757 10 72 if ($aet eq 'combo' or $aet eq 'dropdown') { }
0 72 elsif ($aet eq 'grid') { }
72 0 elsif ($aet eq 'custom') { }
1768 0 10 $conf->{'RS_condition'} ? :
0 10 $conf->{'RS_attr'} ? :
1770 10 0 if $aet eq 'combo'
1779 10 0 if ($conf->{'editor'})
1780 0 10 if ($conf->{'editor'}{'listeners'})
1784 10 0 if keys %{$$conf{'editor'};} > 0
1793 0 0 unless defined $conf->{'display_columns'}
1817 0 0 $conf->{'header'} ? :
1841 72 0 $conf->{'header'} ? :
1866 102 0 ref $_[0] eq 'HASH' ? :
1869 1 101 if $opt{'relationship_cond_data'}{'attrs'}{'m2m_attrs'}
1876 0 101 if $rel_data->{'attrs'}{'title_multi'}
1877 0 101 if $rel_data->{'attrs'}{'multiIconCls'}
1878 0 101 if $rel_data->{'attrs'}{'open_url_multi'}
1879 0 101 if $rel_data->{'attrs'}{'open_url_multi_rs_join_name'}
1887 0 101 if defined $rel_data->{'attrs'}{'join'} and ref $rel_data->{'attrs'}{'join'} ne 'ARRAY'
1890 0 101 if ($rel_data->{'attrs'}{'join'})
1892 0 0 unless scalar @{$rel_data->{'attrs'}{'join'};} > 0
1896 101 0 $conf->{'title_multi'} ? :
1909 98 3 $conf->{'multiIconCls'} ? :
1917 101 0 $rel_rest_key ? :
1920 101 0 if $orgnCol
1922 101 0 $rel_data->{'self'} ? :
1923 3 98 if $rSelfCol and $rSelfCol ne ($orgnCol || '')
1931 101 0 unless defined $use_rest
1932 96 5 if ($use_rest and $orgnCol and $open_url) { }
1970 0 5 if $attr->{'join'}[0] and $join_name eq 'me'
1972 5 0 if (scalar @{$attr->{'join'};} == 0) { }
0 0 elsif (scalar @{$attr->{'join'};} == 1) { }
2002 0 5 $conf->{'open_url_multi'} ? :
5 0 $rel_data->{'self'} ? :
2059 1 0 ref $_[0] eq 'HASH' ? :
2107 0 1 $conf->{'RS_condition'} ? :
0 1 $conf->{'RS_attr'} ? :
2114 1 0 unless exists $conf->{'editor'}{'allowBlank'}
2116 0 1 if ($conf->{'editor'}{'listeners'})
2120 1 0 if keys %{$$conf{'editor'};} > 0
2133 0 0 ref $_[0] eq 'HASH' ? :
2143 0 0 $rel_rest_key ? :
2146 0 0 if $orgnCol
2149 0 0 if ($use_rest and $orgnCol)
2168 0 11 unless my $name = shift()
2169 0 11 ref $_[0] eq 'HASH' ? :
2171 0 11 unless my $rootModule = 'RapidApp'->_rootModule
2173 2 9 unless $rootModule->has_module('tablespec')
2178 6 5 unless $TMod->has_module($name)