Branch Coverage

blib/lib/Mojolicious/Plugin/CountryDropDown.pm
Criterion Covered Total %
branch 82 106 77.3


line true false branch
21 0 10 unless my $collate = 'Unicode::Collate'->new
23 0 10 unless my $lcm = 'Locale::Country::Multilingual'->new
39 2 12 if (exists $$opts{'prefer'} and ref $$opts{'prefer'} eq ref []) { }
43 10 2 unless $$plugin{'_conf'}{'prefer'}
55 4 10 if (@preferred)
58 3 9 if ($code eq $selected)
73 2 3496 if $b eq $selected
81 0 14 unless $$opts{'html_attr'} or $$plugin{'_conf'}{'html_attr'}
84 11 3 if (not exists $attr{'id'}) { }
2 1 elsif (exists $attr{'id'} and not defined $attr{'id'}) { }
109 1 19 unless (defined $new)
113 2 17 if (ref $new eq ref {} and not %{$new;})
126 1 11 unless (defined $code and $code)
141 0 12 unless (defined $country and $country)
161 16 28 if (defined $param)
162 16 0 if ($self->_check_lng_avail($param))
168 11 17 if (exists $$self{'_conf'}{'language'})
173 0 17 if (defined $c->stash->{'i18n'} and my $l = $c->stash->{'i18n'}->languages)
176 0 0 if ($self->_check_lng_avail($l))
184 17 0 if ($self->_check_lng_avail('en'))
196 10 34 unless $$self{'_lng_avail'}
197 22 22 if defined $lng_avail{$l} and $lng_avail{$l}
198 0 22 if defined $lng_avail{$l}
204 21 1 if (defined $loaded and lc $loaded eq lc $l) { }
217 12 17 unless (defined $$self{'_conf'})
222 0 29 unless $opts
224 32 171 if (exists $conf{$p})
235 0 21 unless shift()
244 19 2 if ($codeset eq 'LOCALE_CODE_ALPHA_2') { }
258 1 20 if (defined $opts{'exclude'}) { }
0 20 elsif (defined $$self{'_conf'}{'exclude'}) { }
270 0 21 if (defined $opts{'names'} and ref $opts{'names'} eq ref {}) { }
4 17 elsif (exists $$self{'_conf'}{'names'}) { }
290 27 12 unless defined $candidate and $candidate
293 8 4 unless (index($candidate, 'LOCALE_CODE_') == 0)
297 11 1 if ($candidate =~ /\ALOCALE_CODE_(?:ALPHA_[23]|NUMERIC)\Z/)
311 2 0 if (defined $s) { }
312 0 2 if (ref $s) { }
329 6 1 if (defined $code) { }
330 5 1 if (my $val = $self->_check_codeset($c, $code))
344 11 2 if (defined $lang and $lang) { }
345 10 1 if ($self->_check_lng_avail($lang)) { }
363 2 1 if (defined $codes and $codes) { }
364 0 2 if (ref $codes and not ref $codes eq ref []) { }
368 0 2 unless ref $codes
383 1 1 if (defined $codes and $codes) { }
384 0 1 if (ref $codes and not ref $codes eq ref []) { }
388 0 1 unless ref $codes
403 2 0 if (defined $names and $names) { }
404 0 2 if (not ref $names eq ref {}) { }
424 3 0 if (defined $attr and $attr) { }
425 0 3 if (not ref $attr eq ref {}) { }
430 1 2 unless (defined $$self{'_conf'}{'html_attr'}{'name'} and $$self{'_conf'}{'html_attr'}{'name'} =~ /\A\S+\Z/)