Branch Coverage

blib/lib/RapidApp/TableSpec/Role/DBIC.pm
Criterion Covered Total %
branch 213 396 53.7


line true false branch
30 1318 9995 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 214 435 unless exists $dist_cache{$l}{$r}
618 0 8183 $neg_flag ? :
619 0 8183 $neg_flag ? :
634 4580 3603 unless $prefix eq $test_prefix
637 649 2954 if (match_glob($colspec, $test_col))
646 0 0 unless my $other_val = $self->colspec_test($spec, $col)
649 0 0 if abs $other_val > abs $value
681 0 0 if ref $_[0] eq 'ARRAY'
709 0 0 if @columns == @matches
721 3303 0 ref $_[0] eq 'HASH' ? :
724 176 3127 unless defined $self->{'_colspec_select_columns_cache'}
726 0 3303 unless my $colspecs = $opt{'colspecs'}
727 0 3303 unless my $columns = $opt{'columns'}
736 1296 2007 if defined $self->{'_colspec_select_columns_cache'}{$colspec_select_columns_key}
739 1465 542 if ($self->has_cache)
746 685 780 if $cache_content
756 0 1322 unless ref $colspecs
757 0 1322 unless ref $columns
759 1322 0 unless $opt{'match_data'}
769 0 9260 if $best_match
771 7534 1726 unless my $result = $self->colspec_test(@arg)
772 1726 0 if $result > 0
777 1005 721 unless $opt{'match_data'}{$col}
782 780 542 if ($cache_key)
802 0 0 if ($remote) { }
834 166 781 if ($remote) { }
894 0 0 $class->can('default_TableSpec_cnf_column_order') ? :
899 0 0 unless $self->include_colspec->colspecs
908 0 0 if ref $_[0] eq 'ARRAY'
915 0 0 if $need_base
958 0 0 unless ($rel)
965 0 0 if $ndx{$column}
982 0 0 unless my $TableSpec = $self->column_TableSpec($col)
1009 0 0 unless my $TableSpec = $self->related_TableSpec->{$rel}
1023 0 3 if (caller 1)[3] eq 'RapidApp::TableSpec::Role::DBIC::walk_columns_deep'
1024 3 0 unless $recurse
1025 3 0 unless $recurse
1026 3 0 unless $recurse
1044 0 0 unless my $TableSpec = $self->related_TableSpec->{$rel}
1063 0 0 if $rel eq ''
1065 0 0 unless my $info = $Row->result_source->relationship_info($rel)
1068 0 0 unless $info->{'attrs'}{'accessor'} eq 'single' or $info->{'attrs'}{'accessor'} eq 'filter'
1081 0 0 if not $seen{$_}++
1091 0 84 ref $_[0] eq 'HASH' ? :
1094 0 84 if defined $self->related_TableSpec->{$rel}
1097 0 84 unless my $info = $self->ResultClass->relationship_info($rel)
1101 10 74 if $relspec_prefix and $relspec_prefix ne ''
1122 84 0 if ($class->can('TableSpec_get_conf') and $class->TableSpec_has_conf('related_column_property_transforms'))
1124 0 84 if $rel_transforms->{$rel}
1133 84 0 unless ($self->no_header_transform)
1134 272 20 $_ ? :
1140 0 84 unless my $TableSpec = $self->new_TableSpec(%params)
1165 292 1476 if defined $rel
1298 46 0 if $merge_join and $join
1302 17 29 if (not defined $cond_data) { }
1315 7 22 if (ref $cond_data->{'function'} eq 'CODE') { }
1321 7 15 if ($m2m_attrs) { }
1392 0 7 if ($sqlt_type eq 'PostgreSQL') { }
1413 0 15 unless $cond_data->{'parent_source'}
1420 0 15 $p_source->can('resolve_relationship_condition') ? :
1423 15 0 if (not $rel_attrs->{'where'}) { }
1443 0 0 unless $source->resultset_attributes
1444 0 0 unless $cond_data->{'info'}{'attrs'}
1453 0 0 if ($recent_dbic) { }
1494 15 0 if ($cond_data->{'info'}{'attrs'}{'accessor'} eq 'multi') { }
1505 0 0 unless my $display_column = $source->result_class->TableSpec_get_conf('display_column')
1527 0 46 if ($get_render_col)
1529 0 0 if $render_col
1534 46 0 unless ($rel)
1542 22 24 if ($cond_data)
1572 7 17 if ($self->ResultClass->has_virtual_column($fieldName)) { }
0 17 elsif ($self->ResultClass->has_relationship($fieldName)) { }
1592 0 7 if ($info->{'join'})
1604 0 0 if ($cnf and $cnf->{'virtualized_single_rel'})
1623 0 0 if $alias eq 'me'
1645 0 0 if ($i++ == 0)
1647 0 0 if (ref $last) { }
1658 0 0 unless $set_end
1670 184 0 ref $_[0] eq 'HASH' ? :
1674 102 82 if ($opt{'profiles'})
1679 0 184 if $opt{'virtualized_single_rel'}
1680 102 82 if $self->multi_rel_columns_indx->{$rel}
1683 0 82 unless my $info = $conf->{'relationship_info'}
1688 0 82 unless defined $conf->{'displayField'}
1689 0 82 unless defined $conf->{'valueField'}
1690 0 82 unless defined $conf->{'keyField'}
1695 0 82 unless my $Source = &try(sub { $self->ResultSource->related_source($rel); } , &catch(sub { warn RED() . BOLD() . $_ . CLEAR(); return undef; } ))
1708 4 78 if &try(sub { $self->ResultSource->related_class($rel)->has_virtual_column($conf->{'displayField'}); } )
1718 82 0 if ($relTS)
1728 82 0 if $conf->{'profiles'}
1745 0 0 unless ref $rows eq 'ARRAY'
1747 0 0 if exists $row->{$upd_key_col}
1757 82 0 unless $conf->{'renderer'}
1762 80 2 $self->ResultSource->has_column($rel) ? :
1763 2 80 unless $is_also_local_col
1792 80 2 if ($use_rest and $cond_data and $rel_rest_key and $conf->{'open_url'}) { }
1794 80 0 $rel_rest_key eq $cond_data->{'foreign'} ? :
1800 0 80 $rest_key ? :
80 0 $is_phy ? :
1815 0 2 $conf->{'open_url'} ? :
1830 82 0 exists $conf->{'keyField'} ? :
1831 82 0 if ($cinfo and defined $cinfo->{'is_nullable'} and not exists $conf->{'editor'}{'allowBlank'})
1834 44 38 if $cinfo->{'is_nullable'} == 0
1835 38 44 if ($cinfo->{'is_nullable'} == 1)
1842 0 82 if $cinfo and exists $cinfo->{'default_value'}
1851 10 72 if ($aet eq 'combo' or $aet eq 'dropdown') { }
0 72 elsif ($aet eq 'grid') { }
72 0 elsif ($aet eq 'custom') { }
1862 0 10 $conf->{'RS_condition'} ? :
0 10 $conf->{'RS_attr'} ? :
1864 10 0 if $aet eq 'combo'
1873 10 0 if ($conf->{'editor'})
1874 0 10 if ($conf->{'editor'}{'listeners'})
1878 10 0 if keys %{$$conf{'editor'};} > 0
1887 0 0 unless defined $conf->{'display_columns'}
1911 0 0 $conf->{'header'} ? :
1935 72 0 $conf->{'header'} ? :
1960 102 0 ref $_[0] eq 'HASH' ? :
1963 1 101 if $opt{'relationship_cond_data'}{'attrs'}{'m2m_attrs'}
1970 0 101 if $rel_data->{'attrs'}{'title_multi'}
1971 0 101 if $rel_data->{'attrs'}{'multiIconCls'}
1972 0 101 if $rel_data->{'attrs'}{'open_url_multi'}
1973 0 101 if $rel_data->{'attrs'}{'open_url_multi_rs_join_name'}
1981 0 101 if defined $rel_data->{'attrs'}{'join'} and ref $rel_data->{'attrs'}{'join'} ne 'ARRAY'
1984 0 101 if ($rel_data->{'attrs'}{'join'})
1986 0 0 unless scalar @{$rel_data->{'attrs'}{'join'};} > 0
1990 101 0 $conf->{'title_multi'} ? :
2003 98 3 $conf->{'multiIconCls'} ? :
2011 101 0 $rel_rest_key ? :
2014 101 0 if $orgnCol
2016 101 0 $rel_data->{'self'} ? :
2017 3 98 if $rSelfCol and $rSelfCol ne ($orgnCol || '')
2025 101 0 unless defined $use_rest
2026 96 5 if ($use_rest and $orgnCol and $open_url) { }
2064 0 5 if $attr->{'join'}[0] and $join_name eq 'me'
2066 5 0 if (scalar @{$attr->{'join'};} == 0) { }
0 0 elsif (scalar @{$attr->{'join'};} == 1) { }
2096 0 5 $conf->{'open_url_multi'} ? :
5 0 $rel_data->{'self'} ? :
2153 1 0 ref $_[0] eq 'HASH' ? :
2201 0 1 $conf->{'RS_condition'} ? :
0 1 $conf->{'RS_attr'} ? :
2208 1 0 unless exists $conf->{'editor'}{'allowBlank'}
2210 0 1 if ($conf->{'editor'}{'listeners'})
2214 1 0 if keys %{$$conf{'editor'};} > 0
2227 0 0 ref $_[0] eq 'HASH' ? :
2237 0 0 $rel_rest_key ? :
2240 0 0 if $orgnCol
2243 0 0 if ($use_rest and $orgnCol)
2262 0 11 unless my $name = shift()
2263 0 11 ref $_[0] eq 'HASH' ? :
2265 0 11 unless my $rootModule = 'RapidApp'->_rootModule
2267 2 9 unless $rootModule->has_module('tablespec')
2272 6 5 unless $TMod->has_module($name)