diff --git a/commonmark/src/main/java/org/commonmark/internal/HtmlBlockParser.java b/commonmark/src/main/java/org/commonmark/internal/HtmlBlockParser.java index 6dcb6252..bcbf852f 100644 --- a/commonmark/src/main/java/org/commonmark/internal/HtmlBlockParser.java +++ b/commonmark/src/main/java/org/commonmark/internal/HtmlBlockParser.java @@ -34,7 +34,7 @@ public class HtmlBlockParser extends AbstractBlockParser { }, {Pattern.compile("^")}, {Pattern.compile("^<[?]"), Pattern.compile("\\?>")}, - {Pattern.compile("^")}, + {Pattern.compile("^")}, {Pattern.compile("^")}, { Pattern.compile( diff --git a/commonmark/src/main/java/org/commonmark/internal/inline/HtmlInlineParser.java b/commonmark/src/main/java/org/commonmark/internal/inline/HtmlInlineParser.java index babcb90f..a6560b17 100644 --- a/commonmark/src/main/java/org/commonmark/internal/inline/HtmlInlineParser.java +++ b/commonmark/src/main/java/org/commonmark/internal/inline/HtmlInlineParser.java @@ -245,9 +245,6 @@ private boolean tryDeclaration(Scanner scanner) { return false; } scanner.match(asciiLetter); - if (scanner.whitespace() <= 0) { - return false; - } if (scanner.find('>') >= 0) { scanner.next(); return true; diff --git a/commonmark/src/test/java/org/commonmark/test/HtmlInlineParserTest.java b/commonmark/src/test/java/org/commonmark/test/HtmlInlineParserTest.java index 454c1de8..1cd59d77 100644 --- a/commonmark/src/test/java/org/commonmark/test/HtmlInlineParserTest.java +++ b/commonmark/src/test/java/org/commonmark/test/HtmlInlineParserTest.java @@ -28,7 +28,7 @@ public void afterFailedAttempt() { assertRendering("inline ", "

inline <??

\n"); assertRendering( "inline ", "

inline <![x]]>

\n"); - assertRendering("inline ", "

inline <!foo>

\n"); + assertRendering("inline ", "

inline <!1>

\n"); } @Test @@ -45,12 +45,12 @@ public void unterminatedConstructDoesNotAffectLaterParagraph() { @Test public void declaration() { - // Whitespace is mandatory - assertRendering("inline ", "

inline <!FOO>

\n"); + assertRendering("inline ", "

inline

\n"); assertRendering("inline ", "

inline

\n"); assertRendering("inline ", "

inline

\n"); // Lowercase assertRendering("inline ", "

inline

\n"); + assertRendering("inline ", "

inline

\n"); } } diff --git a/commonmark/src/test/java/org/commonmark/test/SpecialInputTest.java b/commonmark/src/test/java/org/commonmark/test/SpecialInputTest.java index 43b7686c..4e51b680 100644 --- a/commonmark/src/test/java/org/commonmark/test/SpecialInputTest.java +++ b/commonmark/src/test/java/org/commonmark/test/SpecialInputTest.java @@ -48,6 +48,12 @@ public void surrogatePairInLinkDestination() { assertRendering("[title](\uD834\uDD1E)", "

title

\n"); } + @Test + public void htmlBlockDeclarationWithLowercaseLetter() { + assertRendering("", "\n"); + assertRendering("\nbar", "\n

bar

\n"); + } + @Test public void indentedCodeBlockWithMixedTabsAndSpaces() { assertRendering(" foo\n\tbar", "
foo\nbar\n
\n");