Branch Coverage

blib/lib/Markdent/Parser/SpanParser.pm
Criterion Covered Total %
branch 112 130 86.1


line true false branch
147 4 35 unless defined $uri
151 16 23 if defined $title
161 0 1098 if $self->debug
191 0 3089 if ($self->debug and pos ${$text;})
197 1130 1959 if (${$text;} =~ /\G\z/cg)
207 358 17142 ref $span ? :
211 399 17101 if $self->$meth($text, @args)
223 199 1760 if (my $event = $open{'code'})
233 1717 43 unless ($open{'link'})
248 18 1742 if ($open{'strong'} and $open{'emphasis'}) { }
82 1660 elsif ($open{'emphasis'}) { }
45 1615 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 6354 if $wanted_start{$event_name}
297 809 6761 if $wanted_end{$event_name}
334 1747 13 unless ${$text;} =~ / \G
338 0 13 if $self->debug
350 1666 18 unless my($delim) = $self->_match_delimiter_start($text, qr/(?:\*\*|__)/)
365 45 12 unless $self->_match_delimiter_end($text, qr/\Q$delim\E/)
379 1567 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 1529 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 4818 161 unless ${$text;} =~ / \G ($delim)/cgx
464 209 149 unless ${$text;} =~ /\G $delim /cgx
473 1491 1 unless ${$text;} =~ /\G <( (?:https?|mailto|ftp): [^>]+ ) >/cgx
517 1453 38 unless ${$text;} =~ / \G
529 6 32 unless (defined $attr->{'uri'})
530 6 0 if defined $pos
556 1450 9 unless ${$text;} =~ / \G
569 1 8 unless (defined $attr->{'uri'})
570 1 0 if defined $pos
593 14 33 if (defined $uri_and_title) { }
597 4 10 if defined $title
601 11 22 unless (defined $id and length $id)
611 12 21 if defined $link->[1]
624 1487 1 unless ${$text;} =~ / \G
646 1468 19 unless ${$text;} =~ /\G (< [^>]+ >)/cgx
651 8 11 if ($tag =~ m[^</(\w+)>$]) { }
661 3 8 if ($InlineTags{$tag_name}) { }
698 4 7 unless defined $text and length $text
704 12 6 if ($text =~ /$q/cg)
720 1461 7 unless ${$text;} =~ / \G
737 1458 3 unless ${$text;} =~ /\G$line_break_re/cgs
760 0 1560 unless ${$text;} =~ /\G
781 0 1560 if $self->debug
805 0 418 if ($self->debug)
808 0 0 if ($event->can('delimiter'))
819 189 229 if $event->is_end
826 70 1478 unless $self->_has_span_text_buffer
852 2246 1099 unless $event->does('Markdent::Role::BalancedEvent')
854 562 537 if ($event->is_start) { }
537 0 elsif ($event->is_end) { }
860 537 0 if $event->balances_event($start->[1])
868 189 1098 unless $is_done
880 0 12 if ($self->debug)
883 0 0 if ($event->can('delimiter'))
911 1490 406 if ($event->event_name eq 'text') { }
912 1474 16 unless defined $merge_start
916 5 401 if defined $merge_start and $i - 1 > $merge_start
926 6 1092 if defined $merge_start and $#{$events;} > $merge_start
952 0 11 if $self->debug
971 2196 0 unless $self->debug