Branch Coverage

blib/lib/String/Print.pm
Criterion Covered Total %
branch 191 270 70.7


line true false branch
93 3 31 if (my $m = $args->{'modifiers'})
98 3 31 ref $s eq 'ARRAY' ? :
101 0 34 if $args->{'defaults'}
112 2 3 unless $_[0] =~ /^s?print[ip]$/
116 1 18 if (@_ and $_[0] eq "oo")
119 0 1 if @_
127 16 2 if $all or $func{'printi'}
128 17 1 if $all or $func{'sprinti'}
129 16 2 if $all or $func{'printp'}
130 18 0 if $all or $func{'sprintp'}
142 34 2 unless defined $type
145 0 2 if (ref $type eq 'HASH') { }
149 0 2 unless my $def = $predefined_encodings{$type}
154 2 0 ref $_ eq 'Regexp' ? :
2 0 ref $excls eq 'ARRAY' ? :
167 0 5 @_ == 1 && ref $_[0] eq 'HASH' ? :
170 0 5 unless my $was = $defaults{$modif}
188 4 158 @_ == 1 ? :
194 5 157 &is_utf8($format) ? :
200 5 157 if (my $enc = $self->{'SP_enc'}) { }
203 0 5 if defined $args->{'_prepend'}
206 0 4 unless my($name, $tricks) = shift(@frags) =~ /^\s*([\pL\p{Pc}\pM][\w.]*)\s*(.*?)\s*$/o
208 2 2 $name =~ /$exclude/ ? :
212 4 0 if @frags
214 0 5 if defined $args->{'_append'}
217 0 157 if defined $args->{'_prepend'}
220 0 161 unless shift(@frags) =~ /^\s*([\pL\p{Pc}\pM][\w.]*)\s*(.*?)\s*$/o
222 41 120 if @frags
224 0 157 if defined $args->{'_append'}
235 159 6 if (index($key, '.') == -1) { }
237 158 1 exists $args->{$key} ? :
244 6 0 exists $args->{$key} ? :
250 1 7 if (builtin::blessed($value)) { }
6 1 elsif (ref $value and builtin::reftype($value) eq 'HASH') { }
1 0 elsif (index($value, ':') != -1 or $main::main::{$value . '::'}) { }
252 0 1 unless $value->can($method)
260 0 1 unless $value->can($method)
278 532 138 unless $modifier =~ s/^($regex)\s*//
286 159 6 defined $value ? :
287 165 0 $seri ? :
301 1 3 unless $pkg->isa(__PACKAGE__) or $pkg->isa("Log::Report::Minimal::Domain")
321 10 3 &is_utf8($value) ? :
324 0 13 if ($u eq 'S') { }
326 0 0 if not $max and $width and $width <= $s->columns
333 0 0 $width ? :
336 1 9 if not $max and $width and $width <= length $s
337 3 9 if $max and length $s > $max
338 7 5 $width ? :
341 3 4 $padding eq '-' ? :
5 7 if ($pad == 0) { }
349 25 2 length $sep ? :
352 23 4 unless ($d =~ /^\-/)
353 1 22 if $padding eq "+"
354 1 22 if $padding eq " "
356 21 6 unless $max
360 2 0 $padding eq '' ? :
1 2 $padding eq '0' ? :
3 3 $padding eq '-' ? :
0 6 if ($pad <= 0) { }
369 0 41 unless defined $value and length $value
374 0 41 if (ref $value eq 'ARRAY') { }
0 41 elsif (ref $value eq 'HASH') { }
375 0 0 unless @$value
379 0 0 unless keys %$value
385 27 1 $format =~ /^\%([+\ \-0]?)([0-9]*)([_,.])?d$/l ? :
13 28 if ($format =~ /^\%(\-?)([0-9]*)(?:\.([0-9]*))?([sS])$/l) { }
391 0 19 unless defined $value and length $value
393 5 14 if $value < 1000
403 6 8 if $value > "9.949"
411 1 0 defined $value ? :
416 0 5 unless defined $value
418 0 5 if builtin::blessed($value) and $value->isa("DateTime")
421 0 5 unless length $value
423 3 2 if $value =~ /^\s*([0-9]{4})\s*$/ and $1 < 2200
426 1 1 $value =~ /^\s*([0-9]+)\s*$/ ? :
427 0 2 unless defined $stamp
434 0 9 unless defined $value
441 0 9 if (builtin::blessed($value) and $value->isa('DateTime')) { }
8 1 elsif ($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*$/) { }
449 1 0 $value =~ /\D/ ? :
450 0 1 unless defined $stamp
463 0 4 unless defined $value
465 0 4 if builtin::blessed($value) and $value->isa("DateTime")
468 0 4 unless length $value
470 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*$/
474 2 0 $value =~ /\D/ ? :
475 0 2 unless defined $stamp
482 2 1 unless defined $value
484 0 1 if builtin::blessed($value) and $value->isa("DateTime")
487 0 1 unless length $value
493 1 0 $value =~ /\D/ ? :
494 0 1 unless defined $stamp
501 5 7 if defined $value and length $value
502 7 0 $format =~ m[//"([^"]*)"|//'([^']*)'|//(\w*)] ? :
512 0 10 unless defined $value and length $value
515 0 10 unless $format =~ /^ CHOP\( ([0-9]+) \,? ([^)]+)? \) | CHOP\b /x
518 0 10 unless $width != 0
521 0 10 if 2 * length($value) < $width
523 0 10 &is_utf8($value) ? :
524 1 9 if $width >= $v->columns
534 2 192 unless ($chopped->length)
540 0 192 unless $chopped->columns > 0
546 0 9 $v->columns < $width - length($append) ? :
552 0 16 unless defined $value and length $value
555 0 16 unless $format =~ /^ EL\( ([0-9]+) \,? ([^)]+)? \) | EL\b /x
558 0 16 unless $width != 0
561 2 14 if 2 * length($value) < $width
563 0 14 &is_utf8($value) ? :
564 3 11 if $width >= $v->columns
566 11 0 &is_utf8($replace) ? :
567 1 10 unless $r->columns < $width
574 0 10 $v->columns + $r->columns < $width ? :
580 0 10 unless defined $value
583 0 10 unless $format =~ /^ UNKNOWN\( ([0-9]+) \) | UNKNOWN\b /x
586 2 8 if builtin::blessed($value)
590 1 0 $trim eq 'CHOP' ? :
7 1 $trim eq 'EL' ? :
595 2 0 builtin::reftype($value) eq 'HASH' ? :
2 2 builtin::reftype($value) eq 'ARRAY' ? :
4 4 if (not builtin::reftype($value)) { }
604 0 0 ref $_[0] eq 'GLOB' ? :
612 0 0 ref $_[0] eq 'GLOB' ? :
626 20 27 unless length $printp
628 0 27 if ($printp =~ s/^\%\%//)
633 0 27 unless $printp =~ s/ \% (?:([0-9]+)\$)? # 1=positional ([-+0 \#]*) # 2=flags ([0-9]*|\*)? # 3=width (?:\.([0-9]*|\*))? # 4=precission (?:\{ ([^}]*) \})? # 5=modifiers (\w) # 6=conversion //x
644 6 21 if $1
645 4 23 $3 eq '*' ? :
0 27 !defined($3) ? :
646 4 5 $4 eq '*' ? :
18 9 !defined($4) ? :
647 26 1 !defined($5) ? :
649 25 2 if $pos > $maxpos
651 9 18 $prec ? :
652 9 18 if $format eq "%s"
653 1 26 $modif . $format =~ /^\w/ ? :