Branch Coverage

lib/Math/String/Charset.pm
Criterion Covered Total %
branch 186 240 77.5


line true false branch
70 0 250 if (not ref $_[0]) { }
78 2 248 unless (ref($value) =~ /^(ARRAY|HASH)$/)
83 8 22 if (ref $value->{$k} eq 'ARRAY') { }
4 18 elsif (ref $value->{$k} eq 'HASH') { }
107 229 19 if ($self->{'_error'} eq '')
110 212 17 if ($class eq 'Math::String::Charset')
113 8 204 if $self->{'_type'} == 1
114 0 204 if ($self->{'_type'} == 2 and $self->{'_order'} == 1)
120 8 196 if $self->{'_order'} == 2
125 0 232 if $Math::String::Charset::die_on_error and $self->{'_error'} ne ''
140 0 196 if $self->{'_type'} != 0
142 0 196 if $self->{'_order'} != 1
145 0 218 unless $key =~ /^(start|minlen|maxlen|sep|scale)$/
160 173 75 if ref $value eq 'ARRAY'
167 1 0 if exists $value->{'charlen'} and exists $value->{'sep'}
173 4 243 if exists $value->{'scale'}
176 1 19 if exists $value->{'sets'} and exists $value->{'bi'}
178 231 15 unless (defined $self->{'_type'})
181 16 215 if exists $value->{'sets'}
184 241 5 unless (defined $self->{'_order'})
187 18 223 if exists $value->{'bi'}
191 1 245 if exists $value->{'bi'} and $self->{'_type'} != 0
194 3 242 if exists $value->{'sets'} and $self->{'_type'} == 0
197 6 236 if $self->{'_type'} < 0 or $self->{'_type'} > 2
201 1 235 if $self->{'_type'} == 1 and $self->{'_order'} != 1
203 215 20 if ($self->{'_order'} == 1)
207 1 214 if defined $value->{'end'}
211 0 214 if defined $value->{'bi'}
215 3 231 if $self->{'_order'} < 1 or $self->{'_order'} > 2
219 1 230 if defined $self->{'_sep'} and $self->{'_sep'} eq ''
223 224 6 unless defined $self->{'_minlen'}
224 226 4 unless defined $self->{'_maxlen'}
226 1 229 if $self->{'_minlen'} > $self->{'_maxlen'}
238 196 0 if defined $value->{'start'}
241 179 17 unless defined $self->{'_sep'}
249 179 17 unless (defined $self->{'_sep'})
254 1 2793 if CORE::length $_ != $self->{'_clen'}
281 0 196 if $self->{'_cnum'}->is_zero and $self->{'_minlen'} > 0
290 2 3 if @_ > 0
301 0 0 if defined $self->{'_zero'}
303 0 0 if $self->{'_minlen'} > 0
318 0 0 if $self->{'_minlen'} > 0
329 0 3 if (@_ > 1) { }
339 0 3 unless ref $x
344 0 53 if (ref $x->{$k} eq 'SCALAR') { }
13 40 elsif (ref $x->{$k} eq 'ARRAY') { }
8 32 elsif (ref $x->{$k} eq 'HASH') { }
14 18 elsif (ref $x->{$k}) { }
385 0 0 if $self->{'_maxlen'}->is_inf
448 0 56 if $max < 1
449 0 56 if $max <= $self->{'_cnt'}
468 0 38 unless defined $len
471 0 38 if $len < $self->{'_minlen'} or $len > $self->{'_maxlen'}
474 0 38 if $self->{'_minlen'} > 0
476 15 23 if $self->{'_cnt'} < $len
488 0 4 if $self->{'_cnt'} < $len
501 1 3 if $self->{'_cnt'} < $len
511 106 11 unless defined $self->{'_sep'}
525 1 137 unless defined $str
526 12 125 if ($str eq '')
528 10 2 $self->{'_minlen'} <= 0 ? :
533 8 117 if (defined $self->{'_sep'}) { }
536 3 5 if $chars[0] eq ''
537 0 8 if $chars[-1] eq $self->{'_sep'}
548 2 123 if scalar @chars < $self->{'_minlen'} or scalar @chars > $self->{'_maxlen'}
556 11 226 unless exists $map->{$_}
583 11 0 wantarray ? :
594 0 3 wantarray ? :
602 2 0 wantarray ? :
611 15 91 unless ref $x
613 0 106 unless $x->{'sign'} =~ /^[+-]$/
617 105 1 if ($self->{'_minlen'} <= $ONE)
619 7 98 if ($x->is_zero)
621 0 7 wantarray ? :
625 39 59 if ($x <= $j and $self->{'_minlen'} <= $ONE)
628 0 39 wantarray ? :
637 1 59 if ($digits < $self->{'_minlen'} or $digits > $self->{'_maxlen'})
639 0 1 wantarray ? :
649 44 15 unless defined $s
659 27 32 if $digits > 0
661 0 59 wantarray ? :
672 10 114 if $i == 0
676 43 71 if ($i == $clen)
683 71 0 if (ref $cnum) { }
692 60 11 if (not defined $self->{'_sep'}) { }
719 4 7 if $chars[0] eq ''
736 0 42 if $char > scalar @{$self->{'_ones'};}
745 8 117 unless defined $char and exists $self->{'_map'}{$char}
754 0 81 if $x->is_zero or $x->is_nan or $x->is_inf
760 52 150 if $self->{'_cnt'} < $i
771 0 18 if $count < $self->{'_minlen'}
772 0 18 if defined $self->{'_maxlen'} and $count > $self->{'_maxlen'}
773 4 14 if $count == 0
777 6 8 if defined $self->{'_sep'}
786 0 18 if $count < $self->{'_minlen'}
787 0 18 if defined $self->{'_maxlen'} and $count > $self->{'_maxlen'}
788 4 14 if $count == 0
792 6 8 if defined $self->{'_sep'}
802 3 85 if ($str->{'_cache'} eq '')
821 28 57 if (defined $sep) { }
825 11 17 unless $$s =~ /$sep/
834 10 75 if $str->{'sign'} eq '-'
835 10 75 if (not defined $char or $char >= @{$self->{'_start'};} or $char < 0)
842 22 53 if (defined $sep) { }
858 2 73 if ($str->{'_cache'} eq '')
861 0 2 if $min->is_positive
871 46 27 if (defined $sep) { }
875 16 30 unless $$s =~ /$sep/
884 73 0 if (defined $char and exists $self->{'_map'}{$char}) { }
887 26 47 $str->{'sign'} eq '-' ? :
888 15 58 if ($char < 0 or $char >= @{$self->{'_start'};})
900 33 25 if (defined $self->{'_sep'}) { }
929 0 4 if (ref $_[0] eq 'HASH') { }
945 0 4 if $depth < 1 or $depth > 2
956 0 18 if int $l != $l
957 0 18 if ($depth == 1)
984 4 0 if ($depth > 1) { }
991 0 13 unless $bc->{$b} <=> $bc->{$a}
1004 0 4 if ($hist != 0)
1007 0 0 if ($depth > 1) { }