Branch Coverage

blib/lib/String/Tagged.pm
Criterion Covered Total %
branch 224 254 88.1


line true false branch
130 64 217 if &blessed($_[0])
154 20 112 if is_string_tagged($str)
156 7 105 unless defined $str
239 3 23 &blessed($_[0]) ? :
245 1 25 exists $opts{'only_tags'} ? :
249 0 26 exists $opts{'except_tags'} ? :
259 1 25 if $only and not $only->{$tn}
260 0 0 if $except and $except->{$tn}
263 2 23 if ($convert and my $c = $convert->{$tn}) { }
264 1 1 if (ref $c eq 'CODE') { }
326 2 10 is_string_tagged($format) ? :
338 9 13 if ($str =~ /\G[^%]+/cgu) { }
1 12 elsif ($str =~ /\G%%/cgu) { }
10 2 elsif ($str =~ /\G%([-]?)(\d+|\*)?(?:\.(\d+|\*))?s/cgu) { }
2 0 elsif ($str =~ /\G%(.*?)([cduoxefgXEGbBpaAiDUOF])/cgu) { }
0 0 elsif ($str =~ /\G%(.*?)([a-zA-Z])/cgu) { }
350 1 9 if defined $width and $width eq "*"
351 1 9 if defined $precision and $precision eq "*"
354 0 10 unless (defined $arg)
359 2 8 if (defined $precision)
360 0 2 if (is_string_tagged($arg)) { }
370 4 6 defined $width ? :
371 1 9 if $padding < 0
375 8 2 unless $leftalign
379 2 8 if $leftalign
426 1 0 unless is_string_tagged($sep)
503 5 25 if $te < $start
504 2 23 if $ts >= $end
507 1 22 if $te <= 0
509 13 9 if $ts < 0 or $tf & 1
510 13 9 if $te > $end or $tf & 2
512 13 9 $te == -1 ? :
552 0 0 if @$tags < 2
559 0 0 if (_cmp_tags() <= 0)
581 76 76 if (@$tags == 0)
593 14 62 if (_cmp_tags() <= 0)
599 60 2 if (_cmp_tags() >= 0)
615 2 0 if ($cmp > 0) { }
0 0 elsif ($cmp < 0) { }
626 2 0 if ($range_start == $range_end)
632 0 2 unless defined $inspos
634 0 2 if $inspos < 0
635 0 2 if $inspos > @$tags
674 25 124 if (&blessed($_[0])) { }
679 8 17 if $e->anchor_before
680 6 19 if $e->anchor_after
688 25 99 if ($start < 0)
693 30 94 if ($len == -1) { }
699 6 88 if $end > $strlen
716 5 4 if (&blessed($_[0])) { }
728 5 4 if (my $t = $self->{'iterating'})
730 5 0 if ($start == $ts and $end == $te and $name eq $tn)
744 1 7 if $te <= $start
745 3 4 if $ts >= $end
747 0 4 if $tn ne $name
749 2 2 if ($keepends and $end < $te)
754 0 4 if ($tf & 4)
760 1 3 if ($keepends and $ts < $start) { }
844 1 2 if $tn ne $name
888 1 10 if $t2s > $te
889 0 10 unless $t2s <= $te
890 3 7 unless $t2n eq $tn
892 1 6 unless &$eqsub($tn, $tv, $t2v)
901 1 5 if $t2f & 2
905 1 5 if (local $b = $$tags[$i + 1] and _cmp_tags() > 0)
976 1 76 exists $opts{'start'} ? :
980 0 76 exists $opts{'len'} ? :
1 76 exists $opts{'end'} ? :
982 1 76 exists $opts{'only'} ? :
985 1 76 exists $opts{'except'} ? :
994 1 101 if $te < $start
995 1 100 if $ts >= $end
997 2 98 if $only and not $only->{$tn}
998 1 2 if $except and $except->{$tn}
1007 5 92 if ($t->[4] & 8)
1073 2 32 exists $opts{'start'} ? :
1077 0 32 exists $opts{'len'} ? :
2 32 exists $opts{'end'} ? :
1079 1 33 exists $opts{'only'} ? :
1082 1 33 exists $opts{'except'} ? :
1093 2 74 if $te < $start
1094 2 72 if $ts > $end
1096 2 70 if $only and not $only->{$tn}
1097 1 2 if $except and $except->{$tn}
1107 14 28 if $e < $rangeend
1108 1 41 if $tagends{$n} and $tagends{$n} < $e
1131 20 52 if $e < $rangeend
1132 1 71 if $tagends{$n} and $tagends{$n} < $e
1145 1 2 if $_->[0] == $pos
1 33 if (my(@zerolen) = grep({$_->[1] == $pos if $_->[0] == $pos;} @active))
1257 3 11 if $ts > $pos
1258 1 10 if $te <= $pos
1287 4 11 if $ts > $pos
1288 3 8 if $te <= $pos
1290 6 2 if $tn eq $name
1319 1 13 if $ts > $pos
1320 1 12 if $te <= $pos
1322 3 9 unless $tn eq $name
1329 9 1 if (defined $start) { }
1361 3 3 unless $tn eq $name
1363 1 2 if ($ts <= $pos and $te > $pos)
1367 1 1 if ($ts > $pos)
1413 0 56 if $start > $limit
1414 0 56 if $len > $limit - $start
1434 12 30 if $ts >= $start and not $tf & 1
1443 16 14 if ($te > $oldend or $te == $oldend and $tf & 2) { }
1 13 elsif ($te > $start) { }
1448 0 16 if ($t->[0] == $t->[1])
1465 10 3 if $ts >= $oldend
1471 2 1 if ($te <= $oldend) { }
1492 11 1 unless $tf & 1
1501 6 1 if _cmp_tags() <= 0
1509 21 35 if (is_string_tagged($new))
1515 0 21 $atstart && $e->anchor_before ? :
5 16 $atend && $e->anchor_after ? :
1568 18 46 if is_string_tagged($new)
1582 16 43 if $t->[4] & 2
1639 3 14 ref $self eq 'String::Tagged' && is_string_tagged($other) ? :
1643 11 6 if $swap
1754 2 3 if @- > 1
1758 1 4 if defined $limit and @ret == $limit - 1
1761 3 1 if (CORE::length $plain > $prev)
1823 6 1 if CORE::length $name > $maxnamelen
1829 1 6 $tf & 1 ? :
1835 1 6 if ($tl == 0) { }
2 4 elsif ($tl == 1) { }
1848 1 6 $tf & 2 ? :