Condition Coverage

blib/lib/Test/Stream/Mock.pm
Criterion Covered Total %
condition 41 49 83.6


and 2 conditions

line l !l condition
159 27 4 $stash->{'AUTOLOAD'} and *{$stash->{'AUTOLOAD'};}{'CODE'}

and 3 conditions

line !l l&&!r l&&r condition
267 2 0 13 $ref and @$ref
286 6 6 151 ref $arg and &reftype($arg) eq 'CODE'
301 2 4 0 $val and $is
347 53 119 4 $add and $orig
172 4 0 $add and $orig and &reftype($orig) ne 'SCALAR' || defined $$orig
402 1 0 3 $ref and @$ref
423 1 0 138 $ref and @$ref

or 2 conditions

line l !l condition
166 28 1 eval qq[package $class;\n#line $line "$file (Generated AUTOLOAD)"\nour \$AUTOLOAD;\n sub {\n my (\$self) = \@_;\n my (\$pkg, \$name) = (\$AUTOLOAD =~ m/^(.*)::([^:]+)\$/g);\n \$AUTOLOAD = undef;\n\n return if \$name eq 'DESTROY';\n my \$sub = Test::Stream::HashBase->gen_accessor(\$name);\n\n \$c->add(\$name => \$sub);\n goto &\$sub;\n }\n] || die($@)
335 79 67 $self->{'_symbols'} ||= {}
351 12 162 $$syms{"$sig$sym"} ||= []
435 59 0 $self->{'_symbols'} || (return)

or 3 conditions

line l !l&&r !l&&!r condition
135 4 1 1 $NEW{$type} || croak("'${type}' is not a known constructor type")
146 6 1 1 $NEW{$type} || croak("'${type}' is not a known constructor type")
296 2 4 0 delete $arg->{'field'} || $param
303 2 4 0 $is ||= $val ? 'val' : 'rw'
343 57 119 2 $orig or $add
347 1 1 2 &reftype($orig) ne 'SCALAR' || defined $$orig