Condition Coverage

blib/lib/classes.pm
Criterion Covered Total %
condition 71 160 44.3


and 2 conditions

line l !l condition
741 107 256 $vglob and *$vglob{'SCALAR'}
1002 16 17 $is_class && 'CLASS_'

and 3 conditions

line !l l&&!r l&&r condition
416 0 4 0 $name and $name =~ /$classes::ok_attr_name/
424 0 1 0 $name and $name =~ /$classes::ok_attr_name/
457 0 5 0 $name and $name =~ /$classes::ok_attr_name/
465 0 0 0 $name and $name =~ /$classes::ok_attr_name/
499 0 2 0 $name and $name =~ /$classes::ok_attr_name/
507 0 136 0 $name and $name =~ /$classes::ok_attr_name/
542 0 269 0 $name and $name =~ /$classes::ok_attr_name/
565 0 4 0 $name and $name =~ /$classes::ok_attr_name/
587 0 120 0 $name and $name =~ /$classes::ok_attr_name/
669 0 0 0 $_[0] and $_[0] ne ':all'
753 0 107 0 $@ and not $@ =~ /Can't locate .*? at \(eval /o
816 0 49 0 $module and $module =~ /$classes::ok_class_name/
852 10 4 35 $mod_type and $mod_type eq 'mixable'
943 0 2 0 $name and $name =~ /^[a-z_]\w*$/o
951 0 2 0 $glob and $code = *$glob{'CODE'}
972 47 44 0 $name =~ /$filter/ and $glob
0 44 0 $name =~ /$filter/ and $glob and $code = *$glob{'CODE'}
1040 5 5 138 $scope ne 'pr' and $scope ne 'ro'
1046 143 4 1 $scope eq 'pr' and $has_getter
1048 143 4 1 $scope eq 'pr' and $has_setter
1052 143 4 1 $scope eq 'ro' and $has_setter
1085 4 269 118 $scope ne 'pr' and $scope ne 'ro'
1092 387 3 1 $scope eq 'pr' and $has_getter
1094 387 3 1 $scope eq 'pr' and $has_setter
1098 122 268 1 $scope eq 'ro' and $has_setter
1287 0 0 0 $is_ref =~ /^(REF|SCALAR)$/o and not $blessed_as
1367 0 0 0 $out and not $is_ref
1445 0 0 0 $is_ref and $is_ref eq 'SCALAR'
1490 0 0 0 &Scalar::Util::blessed($last_err) and $last_err->isa($class)
1581 0 0 0 @call_stack > 1 and not $whole_stack
1601 0 0 0 not $is_ref and @_ == 1

or 2 conditions

line l !l condition
149 0 406 $$$class_decl{'type'} ||= 'static'
525 0 1 $new_m ||= 'classes::new_fast'
803 7 42 $mixes_def || 'SAFE'

or 3 conditions

line l !l&&r !l&&!r condition
126 131 0 0 $caller || caller
300 131 0 $class ||= $caller || caller
181 3 2 32 $type eq 'static' or $type eq 'dynamic'
5 32 0 $type eq 'static' or $type eq 'dynamic' or $type eq 'mixable'
336 0 0 0 $$exc{'extends'} ||= $base_x_class
356 0 0 305 $inherits or ref $extends
382 0 0 6 not $is_ref or $is_ref ne 'ARRAY'
792 45 2 1 not $is_ref or $is_ref eq 'HASH'
940 12 0 0 $filter_is_ref eq 'Regexp' or $filter_is_ref eq 'Regex'
994 217 213 0 $dest_name ||= $name
997 21 409 0 $really_from || $from_pkg
1005 10 23 0 $really_from || $from_pkg
1157 0 223 0 $m_pkg ||= $class
1337 0 0 0 $self->can("set_$name") || 'X::MethodNotFound'->throw("set_$name")
1344 0 0 0 $self->can("get_$name") || 'X::MethodNotFound'->throw("get_$name")
1355 0 0 0 $blessed_as || $this || caller
1370 0 0 0 $out ||= *STDERR
1399 0 0 0 $d_class_attrs or $d_class_attrs_ro
1668 0 0 0 $full_message || ($format ? sprintf($format, @attrs) : "@attrs")