Add regression test for entities in autolinks (#263) - #311
Merged
Merged
Conversation
Entity and numeric character references in autolinks were passed through literally, so <http://>> rendered as <a href="http://&gt;">. Decode entities in the destination and the link label, matching cmark, which unescapes entities (but not backslash escapes) in both. Closes commonmark#263.
Member
|
thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Entities inside autolinks are left undecoded. The spec limits the exemption to code spans and code
blocks, so
<http://example.com/?a=1&b=2>should resolve the entity like any other inlinecontext, and currently does not.
parseAutolinkinlib/inlines.jstook the raw text between the angle brackets straight tonormalizeURIand to the link's text node. Both now go throughdecodeHTMLStrictfirst, which is thesame decoder the rest of the inline parser uses, so an autolink is consistent with the surrounding
text rather than being a quiet exception to it.
Both branches are changed, the email autolink and the general one, since the exemption applied to
neither.
A regression case covers an entity in each.
Fixes #263