Condition Coverage

blib/lib/DBIx/Class/_Util.pm
Criterion Covered Total %
condition 58 148 39.1


and 3 conditions

line !l l&&!r l&&r condition
237 6172 74099 0 $_[3] and $_[3]{'no_install'}
248 6172 74098 1 $_[3] and defined $_[3]{'package'}
80270 1 0 $_[3] and defined $_[3]{'package'} and $stash ne $_[3]{'package'}
467 0 0 5 defined $args->{'msg'} and length $args->{'msg'}
501 5 0 0 $seen_loud_screams->{$key}++ and not $args->{'emit_dups'}
587 431 46269 20 not $not_blank and length(my $class = ref $e)
778 1 0 0 $INC{'Devel/StackTrace.pm'} && !do { local $@; eval { do { 'Devel::StackTrace'->VERSION(2) } } }
795 0 0 625 defined $mod and $mod =~ /$module_name_rx/
798 0 0 625 defined $ver and $ver =~ /$ver_rx/
836 0 0 4 defined $v_lt and $v_lt =~ /$ver_rx/
840 0 4 0 &modver_gt_or_eq($mod, $v_ge) && !&modver_gt_or_eq($mod, $v_lt)
849 0 0 125995 @_ == 1 && !length(ref $_[0])
857 0 0 126013 defined $class and $class =~ /$module_name_rx/
964 0 0 1532288 unshift @{$slot->{'methods'}{$_->{'name'}};}, $_ and $_->{'via_class'} ne $class || ($slot->{'methods_defined_in_class'}{$_->{'name'}} = $_)
0 1466415 65873 unshift @{$slot->{'methods'}{$_->{'name'}};}, $_ and $_->{'via_class'} ne $class || ($slot->{'methods_defined_in_class'}{$_->{'name'}} = $_) and @{$slot->{'methods'}{$_->{'name'}};} > 1
1466415 65873 0 unshift @{$slot->{'methods'}{$_->{'name'}};}, $_ and $_->{'via_class'} ne $class || ($slot->{'methods_defined_in_class'}{$_->{'name'}} = $_) and @{$slot->{'methods'}{$_->{'name'}};} > 1 and $slot->{'methods_with_supers'}{$_->{'name'}} = $slot->{'methods'}{$_->{'name'}}
1048 0 0 0 length $1 && !length($2)
0 0 0 require File::Spec && 'File::Spec'->catpath(('File::Spec'->splitpath("$_[0]"))[0, 1], '/')
1115 0 0 0 $fr->[3] eq '(eval)' and @fr2 = caller 2
0 0 0 $fr->[0] eq 'DBIx::Class::ResultSourceProxy' and @fr2 = caller 2
0 0 0 $fr->[0] eq 'DBIx::Class::ResultSourceProxy' and @fr2 = caller 2 and ($fr->[3] =~ /([^:])+$/)[0] eq ($fr2[3] =~ /([^:])+$/)[0]
1136 0 0 0 defined $fr->[0] and $fr->[0] =~ /^(?:DBIx::Class|DBICx::)/
0 0 0 defined $fr->[0] and $fr->[0] =~ /^(?:DBIx::Class|DBICx::)/ and not $fr->[1] =~ /\b(?:CDBICompat|ResultSetProxy)\b/
0 0 0 defined $fr->[0] and $fr->[0] =~ /^(?:DBIx::Class|DBICx::)/ and not $fr->[1] =~ /\b(?:CDBICompat|ResultSetProxy)\b/ and @fr2 = caller(@fr2 ? 3 : 2)
0 0 0 defined $fr->[0] and $fr->[0] =~ /^(?:DBIx::Class|DBICx::)/ and not $fr->[1] =~ /\b(?:CDBICompat|ResultSetProxy)\b/ and @fr2 = caller(@fr2 ? 3 : 2) and not grep({$_ eq 'DBIC_method_is_indirect_sugar';} do { no strict 'refs'; &attributes::get(\&{$fr2[3];}) })
0 0 0 defined $fr->[0] and $fr->[0] =~ /^(?:DBIx::Class|DBICx::)/ and not $fr->[1] =~ /\b(?:CDBICompat|ResultSetProxy)\b/ and @fr2 = caller(@fr2 ? 3 : 2) and not grep({$_ eq 'DBIC_method_is_indirect_sugar';} do { no strict 'refs'; &attributes::get(\&{$fr2[3];}) }) and $fr->[3] ne 'DBIx::Class::ResultSet::search' || !($fr2[3] =~ /^DBIx::Class::Ordered::(?: _group_rs | (?: _ | next_ | previous_ )? siblings )/x)

or 2 conditions

line l !l condition
278 78294 1977 $_[2] || {}
286 17 91 $SIG{'__WARN__'} || sub { warn @_; }
293 42750 0 &refaddr || 0
321 1812 3 $args->{'package'} ||= 'main'
484 0 5 $args->{'skip_frames'} || 0
803 298 327 ${"${mod}::__DBIC_MODULE_VERSION_CHECKS__";} ||= {}
914 125760 253 $DBIx::Class::_Util::__describe_class_query_cache->{$query_cache_key} ||= {}
916 125760 253 $slot->{'cumulative_gen'} || 0

or 3 conditions

line l !l&&r !l&&!r condition
220 0 0 80271 @_ < 2 or not defined $_[1]
0 0 80271 @_ < 2 or not defined $_[1] or length ref $_[1]
389 0 0 19 ref $_[0] ne 'ARRAY' or ref $_[1] ne 'ARRAY'
424 1500 18 0 $dd_obj ||= do { require Data::Dumper; my $d = 'Data::Dumper'->new([])->Purity(0)->Pad('')->Useqq(1)->Terse(1)->Freezer('')->Quotekeys(0)->Bless('bless')->Pair(' => ')->Sortkeys(1)->Deparse(1); if (&modver_gt_or_eq('Data::Dumper', '2.136')) { $d->Sparseseen(1); if (&modver_gt_or_eq('Data::Dumper', '2.153')) { $d->Maxrecurse(1000); if (&modver_gt_or_eq('Data::Dumper', '2.160')) { $d->Trailingcomma(1); } ; } ; } ; $d }
758 88 14995 0 defined $destruction_registry->{$_} or delete $destruction_registry->{$_}
870 14 125999 0 $requested_mro ||= &mro::get_mro($class)
894 65015 342 60656 $DBIx::Class::_Util::__describe_class_query_cache->{'!internal!'}{$class}{'is_universal'} ||= &mro::is_universal($class)
899 123302 2711 0 $DBIx::Class::_Util::__describe_class_query_cache->{'!internal!'}{$internal_cache_key}{'linear_isa'} ||= &mro::get_linear_isa($class, $requested_mro)
909 60344 312 0 $DBIx::Class::_Util::__describe_class_query_cache->{'!internal!'}{'UNIVERSAL'}{'linear_isa'} ||= &mro::get_linear_isa('UNIVERSAL')
964 764264 768024 0 $_->{'via_class'} ne $class || ($slot->{'methods_defined_in_class'}{$_->{'name'}} = $_)
990 0 768024 1155133 ref \"${class}::"->{$_} ne 'GLOB' || defined *{"${class}::"->{$_};}{'CODE'}
1108 0 0 0 not @$fr or $fr->[3] eq 'DBIx::Class::ResultSet::new'
0 0 0 not @$fr or $fr->[3] eq 'DBIx::Class::ResultSet::new' or $fr->[3] =~ /^DBIx::Class::ResultSourceProxy::[^:]+$/
0 0 0 not @$fr or $fr->[3] eq 'DBIx::Class::ResultSet::new' or $fr->[3] =~ /^DBIx::Class::ResultSourceProxy::[^:]+$/ or not $fr->[3] =~ /^DBIx::Class|^DBICx::|^DBICTest::/
0 0 0 not @$fr or $fr->[3] eq 'DBIx::Class::ResultSet::new' or $fr->[3] =~ /^DBIx::Class::ResultSourceProxy::[^:]+$/ or not $fr->[3] =~ /^DBIx::Class|^DBICx::|^DBICTest::/ or grep {$_ eq 'DBIC_method_is_indirect_sugar';} do { no strict 'refs'; &attributes::get(\&{$fr->[3];}) }
1115 0 0 0 $fr->[3] eq '(eval)' and @fr2 = caller 2 or $fr->[0] eq 'DBIx::Class::ResultSourceProxy' and @fr2 = caller 2 and ($fr->[3] =~ /([^:])+$/)[0] eq ($fr2[3] =~ /([^:])+$/)[0]
1136 0 0 0 $fr->[3] ne 'DBIx::Class::ResultSet::search' || !($fr2[3] =~ /^DBIx::Class::Ordered::(?: _group_rs | (?: _ | next_ | previous_ )? siblings )/x)
1182 0 0 0 $fr->[6] || do { require B::Deparse; no strict 'refs'; 'B::Deparse'->new->coderef2text(\&{$fr->[3];}) }