From 000393f46a3e8ed4bac5a685fdafa48c0dfb1a21 Mon Sep 17 00:00:00 2001 From: Alexandre Mutel Date: Tue, 26 Mar 2024 21:02:40 +0100 Subject: [PATCH] Fix invalid setext heading (#785) --- src/Markdig.Tests/TestPlayParser.cs | 7 +++++++ src/Markdig/Parsers/ParagraphBlockParser.cs | 8 ++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/Markdig.Tests/TestPlayParser.cs b/src/Markdig.Tests/TestPlayParser.cs index 3d90a3004..53420b1d3 100644 --- a/src/Markdig.Tests/TestPlayParser.cs +++ b/src/Markdig.Tests/TestPlayParser.cs @@ -9,6 +9,13 @@ namespace Markdig.Tests; [TestFixture] public class TestPlayParser { + + [Test] + public void TestInvalidSetext() + { + TestParser.TestSpec("test\n===n", "

test\n===n

", "advanced"); + } + [Test] public void TestBugWithEmphasisAndTable() { diff --git a/src/Markdig/Parsers/ParagraphBlockParser.cs b/src/Markdig/Parsers/ParagraphBlockParser.cs index 9e45715d0..467a81b4c 100644 --- a/src/Markdig/Parsers/ParagraphBlockParser.cs +++ b/src/Markdig/Parsers/ParagraphBlockParser.cs @@ -171,13 +171,9 @@ private static char GetHeadingChar(ref StringSlice line, ref int count) { count = line.CountAndSkipChar(headingChar); - if (line.IsEmpty) - { - return headingChar; - } - - while (line.NextChar().IsSpaceOrTab()) + while (line.CurrentChar.IsSpaceOrTab()) { + line.NextChar(); } if (line.IsEmpty)