Condition Coverage

lib/Getopt/ArgParse/Parser.pm
Criterion Covered Total %
condition 116 141 82.2


and 2 conditions

line l !l condition
630 67 15 exists $$self{-'subparsers'} and scalar @argv

and 3 conditions

line !l l&&!r l&&r condition
155 0 0 18 $parent_class and $parent_class->isa('Getopt::ArgParse::Parser')
370 3 7 17 $type != 4 and $type != 2
10 13 4 $type != 4 and $type != 2 and $nargs ne '1'
20 1 3 $type != 4 and $type != 2 and $nargs ne '1' and $nargs ne '?'
411 196 3 0 defined $split and not $split
199 0 0 defined $split and not $split and $split =~ /^ +$/
415 196 2 1 defined $split and $type != 2
198 1 0 defined $split and $type != 2 and $type != 4
437 1 13 1 $type != 2 and scalar @$default > 1
447 194 1 2 $choices and ref $choices ne 'CODE'
195 2 0 $choices and ref $choices ne 'CODE' and ref $choices ne 'ARRAY'
456 194 2 1 $choices and $choices_i
460 194 1 1 $choices_i and ref $choices_i ne 'ARRAY'
630 0 0 15 exists $$self{-'subparsers'} and scalar @argv and defined $argv[0]
0 4 11 exists $$self{-'subparsers'} and scalar @argv and defined $argv[0] and substr($argv[0], 0, 1) ne '-'
648 4 51 1 $self->print_usage_if_help and $self->namespace->get_attr('help')
653 1 7 2 $self->print_usage_if_help and $self->_command eq 'help'
803 14 34 3 scalar @$values and scalar @$values != $number
843 76 59 63 not defined $self->namespace->get_attr($$spec{'dest'}) and scalar @$values < 1
135 55 8 not defined $self->namespace->get_attr($$spec{'dest'}) and scalar @$values < 1 and defined $$spec{'default'}
964 169 2 15 $$spec{'required'} and not $self->namespace->get_attr('help')
1237 20 14 6 $print_type == 2 and $$spec{'required'}
14 6 14 $print_type == 1 and not $$spec{'required'}
1276 20 0 0 $$spec{'choices'} and ref $$spec{'choices'} ne 'CODE'

or 2 conditions

line l !l condition
215 8 7 delete $$args{'title'} || 'subcommands'
216 2 13 delete $$args{'description'} || ''
271 4 28 delete $$args{'parents'} || []
276 23 9 delete $$args{'help'} || ''
277 1 31 delete $$args{'description'} || ''
278 5 27 delete $$args{'aliases'} || []
361 139 62 delete $$args{'type'} || 'Scalar'
391 33 166 delete $$args{'action'} || '_store'
446 3 194 delete $$args{'choices'} || undef
454 3 194 delete $$args{'choices_i'} || undef
469 17 178 delete $$args{'required'} || ''
478 111 84 delete $$args{'help'} || ''
516 15 178 $required || ''
1075 6 0 shift @desc || ''
1201 0 0 $$self{-'group_description'}{$group} || ''
1307 20 0 shift @help || ''
1350 0 0 $$spec{'type'} || 'undef'

or 3 conditions

line l !l&&r !l&&!r condition
379 15 8 166 $type == 2 or $type == 4
471 107 10 78 $type == 5 or $type == 3
483 0 195 0 delete $$args{'metavar'} || uc $name
485 107 10 78 $type == 5 or $action_name eq '_count'
492 89 106 0 delete $$args{'dest'} || $name
714 10 4 144 $$spec{'type'} == 2 or $$spec{'type'} == 3
14 4 140 $$spec{'type'} == 2 or $$spec{'type'} == 3 or $$spec{'type'} == 4
8 48 92 $$spec{'type'} == 2 or $$spec{'type'} == 3 or $$spec{'type'} == 4 or $$spec{'type'} == 1
991 1 0 0 shift() || $self->namespace->get_attr('help_command') || $self->namespace->get_attr('current_command')
1237 6 0 34 $print_type == 2 and $$spec{'required'} or $print_type == 1 and not $$spec{'required'}
1291 10 10 0 $$spec{'help'} || 'This is option ' . $$spec{'dest'}