Condition Coverage

blib/lib/Zydeco.pm
Criterion Covered Total %
condition 102 175 58.2


and 3 conditions

line !l l&&!r l&&r condition
869 35 5 2 $seen_named and $seen_pos
870 0 2 4 @parsed and $parsed[0]{'positional'}
873 0 2 2 @parsed and $parsed[-1]{'positional'}
1070 1 2 0 defined $code and $code =~ /^=(.+)$/su
1120 0 32 0 defined $code and $code =~ /^=(.+)$/su
1126 1 30 1 defined $name and $name =~ /^\$(.+)$/u
1142 1 1 30 defined $name and not defined $lex_name
1227 0 10 6 defined $code and $code =~ /^=(.+)$/su
1288 0 2 1 defined $code and $code =~ /^=(.+)$/su
1382 5 83 8 $name and $has_sig
1446 27 6 0 defined $default and $default =~ /\$\s*(?:self|class|factory)/u
1554 127 0 0 $owed and $owed > $diff
1614 0 0 2 $types->can('get_type') && $types->get_type($name)
2176 1 0 0 @_ == 1 and ref $_[0] eq "HASH"
1 0 0 @_ == 1 and ref $_[0] eq "ARRAY"

or 2 conditions

line l !l condition
71 39 52 $gather{$me}{$caller}{$kind} ||= []
89 0 1 $gather{$me}{$caller}{'class_generator'} ||= []
106 54 37 $stack{$me}{$caller} ||= []
141 13 8 $class_hash{$parent_key}{'subclass'} ||= []
159 0 2 $got->{'extends'} ||= [$extends]
747 223 45 $opts{'anchor'} ||= ""
1407 1 0 $opts->{'toolkit'} || 'Moo'
1426 4 0 $code ||= "{}"
1435 4 0 $opts->{'toolkit'} || 'Moo'
1547 96 126 $pad_at_end ||= 0
1718 1 75 $plus ||= ""
1719 52 24 $block ||= "{}"
1740 0 1 $plus ||= ""
1741 0 1 $block ||= "{}"
1763 19 0 $block ||= "{}"
2058 1 0 $via ||= "new"
2183 0 1 $_->{'overload'} ||= []
2206 40 0 delete $spec{'_has_keyword'} // "has"
2209 0 0 $spec{'required'} //= 1
2213 0 1 $spec{'init_arg'} //= undef
2219 0 0 $spec{'is'} //= "rwp"
2231 0 13 $_->{'extends'} ||= []
2253 0 1 $_->{'begin'} ||= []
2268 0 1 $_->{'end'} ||= []
2283 0 2 $_->{'before_apply'} ||= []
2299 0 2 $_->{'after_apply'} ||= []
2325 0 19 $_->{'with'} ||= []
2335 0 0 $_->{'import'} ||= []
2344 1 2 $_->{'requires'} ||= []
2352 0 1 $_->{'coerce'} ||= []
2360 1 2 $_->{'factory'} ||= []
2398 2 5 $_->{'symmethod'} ||= []
2406 1 1 $_->{'multifactory'} ||= []
2410 2 12 $_->{'multimethod'} ||= []
2417 0 5 $_->{$kind} ||= []

or 3 conditions

line l !l&&r !l&&!r condition
44 9 25 53 $opts{'extends'} // $opts{'_stack'}[-1]
48 0 4 0 $opts{'class_type_name'} || sprintf('%sClass', 'MooX::Press'->type_name($qname, $opts{'prefix'}))
50 0 4 0 $opts{'instance_type_name'} || sprintf('%sInstance', 'MooX::Press'->type_name($qname, $opts{'prefix'}))
54 1 82 0 $opts{'type_name'} || 'MooX::Press'->type_name($qname, $opts{'prefix'})
749 120 148 0 $_fetch_re_cache{$key} ||= do {
882 0 0 6 $is_optional ||= $p->{'type'} =~ /^Optional/su
930 5 2 52 exists $p->{'optional'} or exists $p->{'default'}
2 3 49 exists $p->{'optional'} or exists $p->{'default'} or $p->{'slurpy'}
942 2 0 40 @head or @tail
1072 0 0 0 $optim ||= &$_should_optimize($code, $signature_var_list)
1122 0 0 0 $optim ||= &$_should_optimize($code, $signature_var_list)
1229 0 6 0 $optim ||= &$_should_optimize($code, $signature_var_list)
1290 0 1 0 $optim ||= &$_should_optimize($code, $signature_var_list)
1613 2 0 0 not $cached or $cached->isa("Type::Tiny::_DeclaredType")
1616 2 0 0 $cached ||= "Type::Tiny::_DeclaredType"->new("name", $name, "library", $types)
1637 0 39 0 $opts{'caller'} ||= caller
2123 2 7 0 is_Str($TARGET) or is_Str($fallback)
2137 2 7 0 $TARGET || $fallback
2208 2 0 0 exists $spec{'default'} or exists $spec{'builder'}
2218 1 0 0 exists $spec{'default'} or exists $spec{'builder'}