Remove trailing HTML entities from non-Rinku autolinks as well.
This commit is contained in:
parent
2de0935e27
commit
747fe7520b
|
@ -87,8 +87,14 @@ module Gitlab
|
|||
|
||||
def autolink_filter(text)
|
||||
text.gsub(LINK_PATTERN) do |match|
|
||||
# Remove any trailing HTML entities and store them for appending
|
||||
# outside the link element. The entity must be marked HTML safe in
|
||||
# order to be output literally rather than escaped.
|
||||
match.gsub!(/((?:&[\w#]+;)+)\z/, '')
|
||||
dropped = ($1 || '').html_safe
|
||||
|
||||
options = link_options.merge(href: match)
|
||||
content_tag(:a, match, options)
|
||||
content_tag(:a, match, options) + dropped
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -86,6 +86,16 @@ module Gitlab::Markdown
|
|||
|
||||
doc = filter("See #{link}, ok?")
|
||||
expect(doc.at_css('a').text).to eq link
|
||||
|
||||
doc = filter("See #{link}...")
|
||||
expect(doc.at_css('a').text).to eq link
|
||||
end
|
||||
|
||||
it 'does not include trailing HTML entities' do
|
||||
doc = filter("See <<<#{link}>>>")
|
||||
|
||||
expect(doc.at_css('a')['href']).to eq link
|
||||
expect(doc.text).to eq "See <<<#{link}>>>"
|
||||
end
|
||||
|
||||
it 'accepts link_attr options' do
|
||||
|
|
Loading…
Reference in New Issue