Compare commits

..

2 Commits

2 changed files with 9 additions and 6 deletions

View File

@@ -288,8 +288,8 @@ sub parse_inline {
push @bold_parts, { type => 'bold', content => $1 };
return "\x01B$idx\x02";
}->()/ge;
$text =~ s/___((?:[^_]|_(?!_))+?)___/<strong>$1<\/strong>/g;
$text =~ s/__((?:[^_]|_(?!_))+?)__/<strong>$1<\/strong>/g;
$text =~ s/(?<!\w)___((?:[^_]|_(?!_))+?)___(?!\w)/<strong>$1<\/strong>/g;
$text =~ s/(?<!\w)__((?:[^_]|_(?!_))+?)__(?!\w)/<strong>$1<\/strong>/g;
my @italic_parts;
my $italic_idx = 0;
@@ -298,7 +298,7 @@ sub parse_inline {
push @italic_parts, { type => 'italic', content => $1 };
return "\x01I$idx\x02";
}->()/ge;
$text =~ s/_([^_]+)_/sub {
$text =~ s/(?<!\w)_((?:[^_]|_(?!_))+?)_(?!\w)/sub {
my $idx = $italic_idx++;
push @italic_parts, { type => 'italic', content => $1 };
return "\x01I$idx\x02";
@@ -312,7 +312,7 @@ sub parse_inline {
push @italic_parts, { type => 'italic', content => $1 };
return "\x01I$idx\x02";
}->()/ge;
$content =~ s/_([^_]+)_/sub {
$content =~ s/(?<!\w)_((?:[^_]|_(?!_))+?)_(?!\w)/sub {
my $idx = $italic_idx++;
push @italic_parts, { type => 'italic', content => $1 };
return "\x01I$idx\x02";

View File

@@ -2,7 +2,7 @@
use strict;
use warnings;
use Test::More tests => 11;
use Test::More tests => 13;
use MarkdownParser;
my $parser = MarkdownParser->new();
@@ -62,4 +62,7 @@ is(
"<p><strong>bold text</strong></p>\n",
"Bold with ___"
);
is( $parser->parse("my_variable"),
"<p>my_variable</p>\n", "Underscore inside word unchanged" );
is( $parser->parse("CONST__VALUE"),
"<p>CONST__VALUE</p>\n", "Double underscores inside word unchanged" );