Condition Coverage

blib/lib/Inline/CPP.pm
Criterion Covered Total %
condition 89 115 77.3


and 3 conditions

line !l l&&!r l&&r condition
175 0 0 18 defined $value->{$cpp_class} and length $cpp_class != 0
0 1 17 defined $value->{$cpp_class} and length $cpp_class != 0 and $cpp_class =~ /[a-zA-Z]\w*/x
179 0 1 16 length $perl_class != 0 and $perl_class =~ /[a-zA-Z]\w*/x
244 0 0 0 $scope eq 'public' and $type eq 'method'
316 44 0 0 not defined $data->{'classes'} || defined $data->{'functions'} and $^W
389 59 134 1 $type eq 'method' && $thing->{'abstract'}
390 59 135 1 $type eq 'method' and $thing->{'abstract'}
392 12 0 130 $type eq 'method' and not $name =~ /operator/
415 186 0 9 $type eq 'inherits' and $scope eq 'public'
521 126 19 1 @args and $args[-1]{'name'} eq '...'
523 72 67 7 $thing->{'rtype'} && $thing->{'rtype'} eq 'void'
605 139 0 7 $void and @CODE
607 129 7 10 @CODE and not $void
642 8 7 27 $class and not $ctor || $dtor
650 46 3 6 $const and $type =~ /[*&]/x
732 7 67 0 $t ne 'void' and not $o->typeconv('', '', $t, 'output_expr')
739 1 39 0 $_ ne '...' and not $o->typeconv('', '', $_, 'input_expr')

or 2 conditions

line l !l condition
65 38 49 $o->{'STRUCT'} ||= {'.macros', '', '.any', 0, '.xs', '', '.all', 0}
159 10 8 $value ||= 'main'
247 0 0 $thing->{'rtype'} || ''
416 5 4 $o->{'ILSM'}{'XS'}{'BOOT'} ||= ''
506 130 16 $class ||= ''

or 3 conditions

line l !l&&r !l&&!r condition
56 38 49 0 $o->{'ILSM'}{'MAKEFILE'}{'CC'} ||= $Inline::CPP::Config::compiler
57 38 49 0 $o->{'ILSM'}{'MAKEFILE'}{'LIBS'} ||= _make_arrayref($Inline::CPP::Config::libs)
101 38 49 0 $o->{'ILSM'}{'AUTO_INCLUDE'} ||= $auto_include
117 0 0 41 $key eq 'PRESERVE_ELLIPSIS' or $key eq 'STD_IOSTREAM'
130 0 0 0 $value == 0 or $value == 1
151 8 10 1 length $value == 0 or $value =~ / \A $ident (?:::$ident)* \z /x
168 3 11 1 $ref_value eq 'CODE' or $ref_value eq 'HASH'
316 38 6 0 defined $data->{'classes'} || defined $data->{'functions'}
389 1 1 193 $abstract ||= $type eq 'method' && $thing->{'abstract'}
398 76 47 7 $ctor ||= $name eq $class
399 27 25 78 $dtor ||= $name eq "~$class"
405 47 1 1 $ctor or $abstract
407 25 1 23 $dtor or $abstract
529 6 1 139 scalar @opts || $ellipsis
538 7 1 138 $void or $ellipsis
543 1 0 132 $ellipsis or $thing->{'rconst'}
642 6 1 27 $ctor || $dtor
729 47 25 74 $ctor or $dtor