Branch Coverage

blib/lib/Markdent/Parser/SpanParser.pm
Criterion Covered Total %
branch 114 132 86.3


line true false branch
147 4 35 unless defined $uri
151 16 23 if defined $title
161 0 1100 if $self->debug
191 0 3097 if ($self->debug and pos ${$text;})
197 1132 1965 if (${$text;} =~ /\G\z/cg)
207 358 17196 ref $span ? :
211 401 17153 if $self->$meth($text, @args)
223 199 1766 if (my $event = $open{'code'})
233 1723 43 unless ($open{'link'})
248 18 1748 if ($open{'strong'} and $open{'emphasis'}) { }
82 1666 elsif ($open{'emphasis'}) { }
45 1621 elsif ($open{'strong'}) { }
252 20 66 if ($event_name eq 'start_strong') { }
22 44 elsif ($event_name eq 'start_emphasis') { }
261 0 18 $last_saw eq 'strong' ? :
294 1216 6362 if $wanted_start{$event_name}
297 809 6769 if $wanted_end{$event_name}
334 1753 13 unless ${$text;} =~ / \G
338 0 13 if $self->debug
350 1672 18 unless my($delim) = $self->_match_delimiter_start($text, qr/(?:\*\*|__)/)
365 45 12 unless $self->_match_delimiter_end($text, qr/\Q$delim\E/)
379 1573 50 unless my($delim) = $self->_match_delimiter_start($text, $self->_emphasis_start_delimiter_re)
396 54 46 unless $self->_match_delimiter_end($text, $self->_emphasis_end_delimiter_re($delim))
421 1535 92 unless my($delim) = $self->_match_delimiter_start($text, qr/\`+\p{SpaceSeparator}*/)
439 109 90 unless $self->_match_delimiter_end($text, qr/\p{SpaceSeparator}*\Q$delim\E/)
454 4836 161 unless ${$text;} =~ / \G ($delim)/cgx
464 209 149 unless ${$text;} =~ /\G $delim /cgx
475 2 1496 if (${$text;} =~ /\G <( (?:https?|mailto|ftp): [^>]+ ) >/cgx) { }
1 1495 elsif (${$text;} =~ /\G <( [^>]+ \@ [^>]+ ) >/cgx) { }
527 1457 38 unless ${$text;} =~ / \G
539 6 32 unless (defined $attr->{'uri'})
540 6 0 if defined $pos
566 1454 9 unless ${$text;} =~ / \G
579 1 8 unless (defined $attr->{'uri'})
580 1 0 if defined $pos
603 14 33 if (defined $uri_and_title) { }
607 4 10 if defined $title
611 11 22 unless (defined $id and length $id)
621 12 21 if defined $link->[1]
634 1491 1 unless ${$text;} =~ / \G
656 1472 19 unless ${$text;} =~ /\G (< [^>]+ >)/cgx
661 8 11 if ($tag =~ m[^</(\w+)>$]) { }
671 3 8 if ($InlineTags{$tag_name}) { }
708 4 7 unless defined $text and length $text
714 12 6 if ($text =~ /$q/cg)
730 1465 7 unless ${$text;} =~ / \G
747 1462 3 unless ${$text;} =~ /\G$line_break_re/cgs
770 0 1564 unless ${$text;} =~ /\G
791 0 1564 if $self->debug
815 0 420 if ($self->debug)
818 0 0 if ($event->can('delimiter'))
829 189 231 if $event->is_end
836 70 1482 unless $self->_has_span_text_buffer
862 2252 1099 unless $event->does('Markdent::Role::BalancedEvent')
864 562 537 if ($event->is_start) { }
537 0 elsif ($event->is_end) { }
870 537 0 if $event->balances_event($start->[1])
878 189 1100 unless $is_done
890 0 12 if ($self->debug)
893 0 0 if ($event->can('delimiter'))
921 1494 408 if ($event->event_name eq 'text') { }
922 1478 16 unless defined $merge_start
926 5 403 if defined $merge_start and $i - 1 > $merge_start
936 6 1094 if defined $merge_start and $#{$events;} > $merge_start
962 0 11 if $self->debug
981 2200 0 unless $self->debug