From 4ca7a5981a4cb57a5376120d1fa325e312bad81c Mon Sep 17 00:00:00 2001 From: Robin Stocker Date: Tue, 29 Jun 2021 15:57:01 +1000 Subject: [PATCH] Allow lowercase ASCII in HTML declaration (spec 0.30) See https://github.com/commonmark/commonmark-spec/issues/620 --- .../commonmark/internal/inline/HtmlInlineParser.java | 10 ++++------ .../java/org/commonmark/test/HtmlInlineParserTest.java | 3 +++ 2 files changed, 7 insertions(+), 6 deletions(-) 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 ba992e2fd..605901c22 100644 --- a/commonmark/src/main/java/org/commonmark/internal/inline/HtmlInlineParser.java +++ b/commonmark/src/main/java/org/commonmark/internal/inline/HtmlInlineParser.java @@ -24,8 +24,6 @@ public class HtmlInlineParser implements InlineContentParser { .c('"').c('\'').c('=').c('<').c('>').c('`') .build(); - private static final AsciiMatcher declaration = AsciiMatcher.builder().range('A', 'Z').build(); - @Override public ParsedInline tryParse(InlineParserState inlineParserState) { Scanner scanner = inlineParserState.scanner(); @@ -58,7 +56,7 @@ public ParsedInline tryParse(InlineParserState inlineParserState) { if (tryCdata(scanner)) { return htmlInline(start, scanner); } - } else if (declaration.matches(c)) { + } else if (asciiLetter.matches(c)) { if (tryDeclaration(scanner)) { return htmlInline(start, scanner); } @@ -187,9 +185,9 @@ private static boolean tryCdata(Scanner scanner) { } private static boolean tryDeclaration(Scanner scanner) { - // spec: A declaration consists of the string , and the character >. - scanner.match(declaration); + // spec: A declaration consists of the string , and the character >. + scanner.match(asciiLetter); if (scanner.whitespace() <= 0) { return false; } diff --git a/commonmark/src/test/java/org/commonmark/test/HtmlInlineParserTest.java b/commonmark/src/test/java/org/commonmark/test/HtmlInlineParserTest.java index 0a406778b..0172ca430 100644 --- a/commonmark/src/test/java/org/commonmark/test/HtmlInlineParserTest.java +++ b/commonmark/src/test/java/org/commonmark/test/HtmlInlineParserTest.java @@ -23,5 +23,8 @@ public void declaration() { assertRendering("inline ", "

inline <!FOO>

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

inline

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

inline

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

inline

\n"); } }