Condition Coverage

blib/lib/Getopt/Declare.pm
Criterion Covered Total %
condition 69 151 45.7


and 3 conditions

line !l l&&!r l&&r condition
79 0 0 70 not $seen{$name} and $stdtype{$name}
0 38 32 not $seen{$name} and $stdtype{$name} and $stdtype{$name}{'ind'}
94 0 0 66 not $seen{$name} and $stdtype{$name}
0 36 30 not $seen{$name} and $stdtype{$name} and $stdtype{$name}{'ind'}
112 0 0 3 $_[1] and not $_[3]
113 0 3 0 $_[1] and $_[3]
134 36 0 0 not $stdtype and $$self{'type'} =~ m[\A:/([^/]+)/\Z]
193 2 0 0 defined $trailing && !$trailing
293 93 3 3 not $negflagpat and @flags
300 11 1 3 not $posflagpat and @flags
414 2 25 0 $flag and $clump == 1 && !($flag =~ /\A[^a-z0-9]+[a-z0-9]\Z/i) || $clump < 3 && @{$$self{'args'};}
503 2 22 3 $flag and $$self{'items'} == 0
572 12 1 0 @_ == 3 and !defined($_[2]) || $_[2] eq '-SKIP'
612 36 0 3 /\A\s*\[\s*pvtype:/ and $_action = extract_codeblock($_, '[]')
653 13 11 1 $_lastdesc and $desc =~ s/\A\s*\[\s*ditto\s*\]/$_lastdesc/
676 13 11 1 $_lastactions and $$_{'ditto'}
24 0 1 $_lastactions and $$_{'ditto'} and not @{$$_{'actions'};}
686 19 0 0 $$b{'flag'} eq $$a{'flag'} and $#{$$b{'args'};} <=> $#{$$a{'args'};}
720 0 0 0 open CODE, '>.CODE' and print CODE $self->code($$self{'_internal'}{'caller'})
0 0 0 open CODE, '>.CODE' and print CODE $self->code($$self{'_internal'}{'caller'}) and close CODE
793 0 0 0 not $source->fileno and -t STDIN
808 0 0 0 @$source == 1 and !defined($$source[0]) || $$source[0] eq '-BUILD' || $$source[0] eq '-SKIP'
0 0 0 @$source == 1 and $$source[0] eq '-STDIN'
0 0 0 @$source == 1 and $$source[0] eq '-CONFIG'
933 0 0 0 $desc =~ s/\A\s*(:?)\s*([^] \t\n]+)// and $pat = $2
1050 38 0 5 /\A\s*\[\s*pvtype:/ and extract_bracketed $_, '[{}]'
1138 3 0 0 $decfirst and $usage =~ /\A[ \t]*\n/

or 2 conditions

line l !l condition
374 23 0 $1 || ''
425 2 0 Getopt::Declare::ScalarArg::stdtype($$self{'args'}[0]{'type'}) || ''
928 0 0 3 index($desc, ']') || 20
936 1 2 extract_codeblock($desc) || ''
1101 8 0 $2 || ''
1176 14 1 shift() || 'main'

or 3 conditions

line l !l&&r !l&&!r condition
11 5 0 0 @_ < 2 or not length $defn
85 0 0 38 $seen{$name} or not $stdtype{$name}
120 0 0 34 ref $_[0] || $_[0]
351 2 28 4 $first || length $nows
408 0 0 27 Getopt::Declare::_nocase() || $$self{'nocase'}
410 1 0 26 $$self{'repeatable'} || $$owner{'_internal'}{'all_rep'}
414 0 0 25 $clump == 1 && !($flag =~ /\A[^a-z0-9]+[a-z0-9]\Z/i) || $clump < 3 && @{$$self{'args'};}
527 96 0 6 $$self{'flag'} || "<$$self{'args'}[0]{'name'}>"
532 24 0 2 $$self{'flagid'} || "<$$self{'args'}[0]{'name'}>"
572 0 0 1 !defined($_[2]) || $_[2] eq '-SKIP'
584 0 0 0 $predef or not $_grammar
649 0 0 25 $_strict ||= $desc =~ /\[strict\]/
668 0 0 9 $_strict ||= $decorator =~ /\[strict\]/
686 18 0 19 length $$b{'flag'} <=> length $$a{'flag'} or $$b{'flag'} eq $$a{'flag'} and $#{$$b{'args'};} <=> $#{$$a{'args'};}
701 0 13 0 ref $_class || $_class
808 0 0 0 !defined($$source[0]) || $$source[0] eq '-BUILD' || $$source[0] eq '-SKIP'
915 0 1 24 $$arg{'repeatable'} ||= $desc =~ /\[\s*repeatable\s*\]/i
1104 5 3 0 defined $decfirst or $desc =~ /\A\s*\Z/
1156 0 0 0 $nested || /^-/