Branch Coverage

lib/Math/String/Charset.pm
Criterion Covered Total %
branch 187 240 77.9


line true false branch
70 0 248 if (not ref $_[0]) { }
78 2 246 unless (ref($value) =~ /^(ARRAY|HASH)$/)
83 8 22 if (ref $$value{$k} eq 'ARRAY') { }
4 18 elsif (ref $$value{$k} eq 'HASH') { }
107 227 19 if ($$self{'_error'} eq '')
110 210 17 if ($class eq 'Math::String::Charset')
112 8 202 if $$self{'_type'} == 1
114 0 202 if ($$self{'_type'} == 2 and $$self{'_order'} == 1)
119 8 194 if $$self{'_order'} == 2
125 0 230 if $Math::String::Charset::die_on_error and $$self{'_error'} ne ''
139 0 194 if $$self{'_type'} != 0
141 0 194 if $$self{'_order'} != 1
145 0 216 unless $key =~ /^(start|minlen|maxlen|sep|scale)$/
160 171 75 if ref $value eq 'ARRAY'
166 1 245 if exists $$value{'charlen'} and exists $$value{'sep'}
172 4 241 if exists $$value{'scale'}
175 1 244 if exists $$value{'sets'} and exists $$value{'bi'}
178 229 15 unless (defined $$self{'_type'})
181 16 213 if exists $$value{'sets'}
184 239 5 unless (defined $$self{'_order'})
187 18 221 if exists $$value{'bi'}
190 1 243 if exists $$value{'bi'} and $$self{'_type'} != 0
193 3 240 if exists $$value{'sets'} and $$self{'_type'} == 0
196 6 234 if $$self{'_type'} < 0 or $$self{'_type'} > 2
199 1 233 if $$self{'_type'} == 1 and $$self{'_order'} != 1
203 213 20 if ($$self{'_order'} == 1)
205 1 212 if defined $$value{'end'}
209 0 212 if defined $$value{'bi'}
214 3 229 if $$self{'_order'} < 1 or $$self{'_order'} > 2
218 1 228 if defined $$self{'_sep'} and $$self{'_sep'} eq ''
223 222 6 unless defined $$self{'_minlen'}
224 224 4 unless defined $$self{'_maxlen'}
225 1 227 if $$self{'_minlen'} > $$self{'_maxlen'}
238 194 0 if defined $$value{'start'}
240 177 17 unless defined $$self{'_sep'}
249 177 17 unless (defined $$self{'_sep'})
253 1 2741 if CORE::length $_ != $$self{'_clen'}
280 0 194 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 104 11 unless defined $$self{'_sep'}
525 1 135 unless defined $str
526 12 123 if ($str eq '')
528 10 2 $$self{'_minlen'} <= 0 ? :
533 8 115 if (defined $$self{'_sep'}) { }
536 3 5 if $chars[0] eq ''
537 0 8 if $chars[-1] eq $$self{'_sep'}
548 2 121 if scalar @chars < $$self{'_minlen'} or scalar @chars > $$self{'_maxlen'}
556 11 224 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 112 if $i == 0
676 41 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 12 73 if $$str{'sign'} eq '-'
835 8 77 if (not defined $char or $char >= @{$$self{'_start'};} or $char < 0)
842 22 55 if (defined $sep) { }
858 2 74 if ($$str{'_cache'} eq '')
861 0 2 if $min->is_positive
871 46 28 if (defined $sep) { }
875 16 30 unless $$s =~ /$sep/
884 74 0 if (defined $char and exists $$self{'_map'}{$char}) { }
887 27 47 $$str{'sign'} eq '-' ? :
888 15 59 if ($char < 0 or $char >= @{$$self{'_start'};})
900 33 26 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) { }
990 0 13 unless $$bc{$b} <=> $$bc{$a}
1004 0 4 if ($hist != 0)
1007 0 0 if ($depth > 1) { }