Branch Coverage

blib/lib/Getopt/EX/Hashed.pm
Criterion Covered Total %
branch 74 86 86.0


line true false branch
80 27 0 unless (%$config)
82 0 27 unless (%$config) = %DefaultConfig
96 2 4 if (ref $class) { }
99 0 4 $class ne 'Getopt::EX::Hashed' ? :
104 3 3 if ($key eq "DEFAULT")
105 1 2 unless ref $value eq "ARRAY"
106 1 1 unless @$value % 2 == 0
124 20 155 if (@param % 2)
125 1 19 ref $param[0] eq 'CODE' ? :
128 7 168 ref $key eq 'ARRAY' ? :
134 23 178 if ($append) { }
135 1 22 unless defined $i
138 0 178 if defined $i
148 4 10 $class ne 'Getopt::EX::Hashed' ? :
155 39 87 if (my $is = $param{'is'})
158 39 0 unless (do { "${class}::" }->{$access})
159 1 38 if $config->{'ACCESSOR_LVALUE'} and $is eq "rw"
165 8 118 if (ref $_ eq 'ARRAY') { }
5 113 elsif (ref $_ eq 'HASH') { }
4 109 elsif (ref $_ eq 'CODE') { }
171 14 0 if $config->{'LOCK_KEYS'}
182 7 1 if (@_ == 0) { }
1 0 elsif (@_ == 1 and ref $_[0] eq 'ARRAY') { }
211 0 26 if $#_
215 1 2 if ($#_)
219 1 6 if ($#_)
222 0 39 unless {"ro", sub { die "$name is readonly\n" if $#_; $_[0]{$name}; } , "rw", sub { if ($#_) { $_[0]{$name} = $_[1]; return $_[0]; } ; $_[0]{$name}; } , "lv", sub : lvalue { if ($#_) { $_[0]{$name} = $_[1]; return $_[0]; } ; $_[0]{$name}; } }->{$is}
236 3 120 if $name eq "<>"
238 4 109 if (my $alias = $m->{'alias'})
252 23 90 if (@spec == 0) { }
90 0 elsif (@spec == 1) { }
258 16 0 if /_/u and $obj->_conf->{'REPLACE_UNDERSCORE'}
259 6 10 if /_/u and $obj->_conf->{'REMOVE_UNDERSCORE'}
261 6 107 if @names and not $spec =~ /^($spec_re|$)/u
270 26 90 if (my $is_valid = _validator($m)) { }
14 76 elsif ($action) { }
274 9 23 unless &$is_valid
282 0 76 if (ref $obj->{$name} eq 'CODE') { }
322 90 26 unless my(@test) = _tester($m)
326 9 29 unless &$test
336 6 7 ref $dest eq 'HASH' ? :
7 13 ref $dest eq 'ARRAY' ? :
342 7 2 if (@_ <= 2) { }