Branch Coverage

blib/lib/String/Print.pm
Criterion Covered Total %
branch 128 178 71.9


line true false branch
62 3 21 if (my $m = $args->{'modifiers'})
68 3 21 ref $s eq 'ARRAY' ? :
79 2 3 unless $_[0] =~ /^s?print[ip]$/
83 1 13 if (@_ and $_[0] eq 'oo')
85 0 1 if @_
93 11 2 if $all or $func{'printi'}
94 12 1 if $all or $func{'sprinti'}
95 11 2 if $all or $func{'printp'}
96 13 0 if $all or $func{'sprintp'}
109 24 2 unless defined $type
112 0 2 if (ref $type eq 'HASH') { }
116 0 2 unless my $def = $predefined_encodings{$type}
122 2 0 ref $_ eq 'Regexp' ? :
2 0 ref $excls eq 'ARRAY' ? :
136 4 98 @_ == 1 ? :
142 3 99 &is_utf8($format) ? :
148 5 97 if (my $enc = $self->{'SP_enc'}) { }
151 0 5 if defined $args->{'_prepend'}
154 0 4 unless my($name, $tricks) = shift(@frags) =~ /^\s*([\pL\p{Pc}\pM][\w.]*)\s*(.*?)\s*$/o
157 2 2 $name =~ /$exclude/ ? :
161 4 0 if @frags
163 0 5 if defined $args->{'_append'}
166 0 97 if defined $args->{'_prepend'}
169 0 101 unless shift(@frags) =~ /^\s*([\pL\p{Pc}\pM][\w.]*)\s*(.*?)\s*$/o
172 40 61 if @frags
174 0 97 if defined $args->{'_append'}
184 99 6 if (index($key, '.') == -1) { }
186 98 1 exists $args->{$key} ? :
194 6 0 exists $args->{$key} ? :
201 1 7 if (&blessed($value)) { }
6 1 elsif (ref $value and &reftype($value) eq 'HASH') { }
1 0 elsif (index($value, ':') != -1 or $main::main::{$value . '::'}) { }
203 0 1 unless $value->can($method)
211 0 1 unless $value->can($method)
229 190 78 unless $modifier =~ s/^($regex)\s*//
237 99 6 defined $value ? :
238 105 0 $seri ? :
253 1 3 unless $pkg->isa('String::Print') or $pkg->isa('Log::Report::Minimal::Domain')
269 0 15 unless defined $value and length $value
272 0 15 if (ref $value eq 'ARRAY') { }
0 15 elsif (ref $value eq 'HASH') { }
273 0 0 unless @$value
277 0 0 unless keys %$value
282 2 13 unless $format =~ /^\%([-+ ]?)([0-9]*)(?:\.([0-9]*))?([sS])$/l
292 10 3 &is_utf8($value) ? :
296 0 13 if ($u eq 'S') { }
298 0 0 if not $max and $width and $width <= $s->columns
305 0 0 $width ? :
308 1 9 if not $max and $width and $width <= length $s
309 3 9 if $max and length $s > $max
310 7 5 $width ? :
313 3 4 $padding eq '-' ? :
5 7 $pad == 0 ? :
321 0 19 unless defined $value and length $value
323 5 14 if $value < 1000
333 6 8 if $value > 9.949
350 0 5 unless defined $value and length $value
352 2 3 if not $value =~ /\D/ and $value < 2200
355 2 1 $value =~ /\D/ ? :
356 0 3 unless defined $stamp
363 0 6 unless defined $value and length $value
365 5 1 if $value =~ m[^\s*([0-9]{4})[:/.-]([0-9]?[0-9])[:/.-]([0-9]?[0-9])\s*$] or $value =~ /^\s*([0-9]{4})([0-9][0-9])([0-9][0-9])\s*$/
369 1 0 $value =~ /\D/ ? :
370 0 1 unless defined $stamp
377 0 4 unless defined $value and length $value
379 2 2 if $value =~ /^\s*(0?[0-9]|1[0-9]|2[0-3])\:([0-5]?[0-9])(?:\:([0-5]?[0-9]))?\s*$/ or $value =~ /^\s*(0[0-9]|1[0-9]|2[0-3])([0-5][0-9])(?:([0-5][0-9]))?\s*$/
383 2 0 $value =~ /\D/ ? :
384 0 2 unless defined $stamp
391 2 2 unless defined $value and length $value
394 0 2 unless my $pattern = $dt_format{$kind}
397 2 0 $value =~ /\D/ ? :
398 0 2 unless defined $stamp
406 5 7 if defined $value and length $value
407 7 0 $format =~ m[//"([^"]*)"|//'([^']*)'|//(\w*)] ? :
413 0 0 ref $_[0] eq 'GLOB' ? :
421 0 0 ref $_[0] eq 'GLOB' ? :
433 20 25 unless length $printp
434 0 25 if ($printp =~ s/^\%\%//)
438 0 25 unless $printp =~ s/\%(?:([0-9]+)\$)? # 1=positional ([-+0 \#]*) # 2=flags ([0-9]*|\*)? # 3=width (?:\.([0-9]*|\*))? # 4=precission (?:\{ ([^}]*) \})? # 5=modifiers (\w) # 6=conversion //x
447 6 19 if $1
448 4 21 $3 eq '*' ? :
0 25 !defined($3) ? :
449 4 5 $4 eq '*' ? :
16 9 !defined($4) ? :
450 24 1 !defined($5) ? :
452 23 2 if $pos > $maxpos
454 9 16 $prec ? :
455 8 17 if $format eq '%s'
456 1 24 $modif . $format =~ /^\w/ ? :