Skip to content

Commit d1233ff

Browse files
authored
Merge pull request #837 from snnz/fix-links
Fix errors in LinkHelper and LinkInlineParser.
2 parents fdaef77 + ab8e85b commit d1233ff

File tree

4 files changed

+124
-130
lines changed

4 files changed

+124
-130
lines changed

src/Markdig.Tests/TestLinkHelper.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,14 @@ public void TestTitleMultiline()
8989
Assert.AreEqual("this\ris\r\na\ntitle", title);
9090
}
9191

92+
[Test]
93+
public void TestTitleMultilineWithSpaceAndBackslash()
94+
{
95+
var text = new StringSlice("'a\n\\ \\\ntitle'");
96+
Assert.True(LinkHelper.TryParseTitle(ref text, out string title, out _));
97+
Assert.AreEqual("a\n\\ \\\ntitle", title);
98+
}
99+
92100
[Test]
93101
public void TestUrlAndTitle()
94102
{
@@ -238,6 +246,13 @@ public void TestlLinkReferenceDefinitionSimple()
238246

239247
}
240248

249+
[Test]
250+
public void TestlLinkReferenceDefinitionInvalid()
251+
{
252+
var text = new StringSlice("[foo]: /url (title) x\n");
253+
Assert.False(LinkHelper.TryParseLinkReferenceDefinition(ref text, out _, out _, out _, out _, out _, out _));
254+
}
255+
241256
[Test]
242257
public void TestAutoLinkUrlSimple()
243258
{

src/Markdig.Tests/TestPlayParser.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,14 @@ public void TestLink()
4646
Assert.AreEqual("/yoyo", link?.Url);
4747
}
4848

49+
[Test]
50+
public void TestLinkWithMultipleBackslashesInTitle()
51+
{
52+
var doc = Markdown.Parse(@"[link](/uri '\\\\127.0.0.1')");
53+
var link = doc.Descendants<LinkInline>().FirstOrDefault();
54+
Assert.AreEqual(@"\\127.0.0.1", link?.Title);
55+
}
56+
4957
[Test]
5058
public void TestListBug2()
5159
{

0 commit comments

Comments
 (0)