Commit 1cfc4af3 authored by Douwe Maan's avatar Douwe Maan
Browse files

Merge branch 'rs-dev-issue-2550' into 'master'

Remove trailing HTML entities from non-Rinku autolinks as well.

Addresses internal

See merge request !1179
......@@ -87,8 +87,14 @@ def text_parse
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
......@@ -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
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}>>>"
it 'accepts link_attr options' do
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment