Branch Coverage

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


line true false branch
66 3 21 if (my $m = $args->{'modifiers'})
72 3 21 ref $s eq 'ARRAY' ? :
83 2 3 unless $_[0] =~ /^s?print[ip]$/
87 1 13 if (@_ and $_[0] eq 'oo')
89 0 1 if @_
97 11 2 if $all or $func{'printi'}
98 12 1 if $all or $func{'sprinti'}
99 11 2 if $all or $func{'printp'}
100 13 0 if $all or $func{'sprintp'}
113 24 2 unless defined $type
116 0 2 if (ref $type eq 'HASH') { }
120 0 2 unless my $def = $predefined_encodings{$type}
126 2 0 ref $_ eq 'Regexp' ? :
2 0 ref $excls eq 'ARRAY' ? :
140 4 98 @_ == 1 ? :
146 3 99 &is_utf8($format) ? :
152 5 97 if (my $enc = $self->{'SP_enc'}) { }
155 0 5 if defined $args->{'_prepend'}
158 0 4 unless my($name, $tricks) = shift(@frags) =~ /^\s*([\pL\p{Pc}\pM][\w.]*)\s*(.*?)\s*$/o
161 2 2 $name =~ /$exclude/ ? :
165 4 0 if @frags
167 0 5 if defined $args->{'_append'}
170 0 97 if defined $args->{'_prepend'}
173 0 101 unless shift(@frags) =~ /^\s*([\pL\p{Pc}\pM][\w.]*)\s*(.*?)\s*$/o
176 40 61 if @frags
178 0 97 if defined $args->{'_append'}
188 99 6 if (index($key, '.') == -1) { }
190 98 1 exists $args->{$key} ? :
198 6 0 exists $args->{$key} ? :
205 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 . '::'}) { }
207 0 1 unless $value->can($method)
215 0 1 unless $value->can($method)
233 190 78 unless $modifier =~ s/^($regex)\s*//
241 99 6 defined $value ? :
242 105 0 $seri ? :
257 1 3 unless $pkg->isa('String::Print') or $pkg->isa('Log::Report::Minimal::Domain')
273 0 15 unless defined $value and length $value
276 0 15 if (ref $value eq 'ARRAY') { }
0 15 elsif (ref $value eq 'HASH') { }
277 0 0 unless @$value
281 0 0 unless keys %$value
286 2 13 unless $format =~ /^\%([-+ ]?)([0-9]*)(?:\.([0-9]*))?([sS])$/l
296 10 3 &is_utf8($value) ? :
300 0 13 if ($u eq 'S') { }
302 0 0 if not $max and $width and $width <= $s->columns
309 0 0 $width ? :
312 1 9 if not $max and $width and $width <= length $s
313 3 9 if $max and length $s > $max
314 7 5 $width ? :
317 3 4 $padding eq '-' ? :
5 7 $pad == 0 ? :
325 0 19 unless defined $value and length $value
327 5 14 if $value < 1000
337 6 8 if $value > 9.949
354 0 5 unless defined $value and length $value
356 2 3 if not $value =~ /\D/ and $value < 2200
359 2 1 $value =~ /\D/ ? :
360 0 3 unless defined $stamp
367 0 6 unless defined $value and length $value
369 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*$/
373 1 0 $value =~ /\D/ ? :
374 0 1 unless defined $stamp
381 0 4 unless defined $value and length $value
383 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*$/
387 2 0 $value =~ /\D/ ? :
388 0 2 unless defined $stamp
395 2 2 unless defined $value and length $value
398 0 2 unless my $pattern = $dt_format{$kind}
401 2 0 $value =~ /\D/ ? :
402 0 2 unless defined $stamp
410 5 7 if defined $value and length $value
411 7 0 $format =~ m[//"([^"]*)"|//'([^']*)'|//(\w*)] ? :
417 0 0 ref $_[0] eq 'GLOB' ? :
425 0 0 ref $_[0] eq 'GLOB' ? :
437 20 25 unless length $printp
438 0 25 if ($printp =~ s/^\%\%//)
442 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
451 6 19 if $1
452 4 21 $3 eq '*' ? :
0 25 !defined($3) ? :
453 4 5 $4 eq '*' ? :
16 9 !defined($4) ? :
454 24 1 !defined($5) ? :
456 23 2 if $pos > $maxpos
458 9 16 $prec ? :
459 8 17 if $format eq '%s'
460 1 24 $modif . $format =~ /^\w/ ? :