summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-06-22 12:26:41 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-06-22 12:26:41 +0200
commit6c4d48b8b9219941218b5abdbf95acc10ff54dea (patch)
tree005f75beed45d24476c7092f7dff85536a317f24
parent9179dc6dc80a5178f4b1de9373b9e4c764485304 (diff)
parent54365ecc7aefede64f73fa36acd651336ffa095f (diff)
downloadgitlab-ce-6c4d48b8b9219941218b5abdbf95acc10ff54dea.tar.gz
Merge branch 'rs-remove-link-to-override'
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> Conflicts: spec/helpers/application_helper_spec.rb
-rw-r--r--app/helpers/application_helper.rb33
-rw-r--r--spec/helpers/application_helper_spec.rb37
2 files changed, 0 insertions, 70 deletions
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index c1342331119..9889c995c74 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -233,39 +233,6 @@ module ApplicationHelper
Gitlab::MarkupHelper.asciidoc?(filename)
end
- # Overrides ActionView::Helpers::UrlHelper#link_to to add `rel="nofollow"` to
- # external links
- def link_to(name = nil, options = nil, html_options = {})
- if options.kind_of?(String)
- if !options.start_with?('#', '/')
- html_options = add_nofollow(options, html_options)
- end
- end
-
- super
- end
-
- # Add `"rel=nofollow"` to external links
- #
- # link - String link to check
- # html_options - Hash of `html_options` passed to `link_to`
- #
- # Returns `html_options`, adding `rel: nofollow` for external links
- def add_nofollow(link, html_options = {})
- begin
- uri = URI(link)
-
- if uri && uri.absolute? && uri.host != Gitlab.config.gitlab.host
- rel = html_options.fetch(:rel, '')
- html_options[:rel] = (rel + ' nofollow').strip
- end
- rescue URI::Error
- # noop
- end
-
- html_options
- end
-
def promo_host
'about.gitlab.com'
end
diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb
index a62c801e6a2..1297e789793 100644
--- a/spec/helpers/application_helper_spec.rb
+++ b/spec/helpers/application_helper_spec.rb
@@ -203,43 +203,6 @@ describe ApplicationHelper do
end
end
- describe 'link_to' do
- it 'should not include rel=nofollow for internal links' do
- expect(link_to('Home', root_path)).to eq('<a href="/">Home</a>')
- end
-
- it 'should include rel=nofollow for external links' do
- expect(link_to('Example', 'http://www.example.com')).
- to eq '<a href="http://www.example.com" rel="nofollow">Example</a>'
- end
-
- it 'should include rel=nofollow for external links and honor existing html_options' do
- expect(link_to('Example', 'http://www.example.com', class: 'toggle', data: {toggle: 'dropdown'}))
- .to eq '<a class="toggle" data-toggle="dropdown" href="http://www.example.com" rel="nofollow">Example</a>'
- end
-
- it 'should include rel=nofollow for external links and preserve other rel values' do
- expect(link_to('Example', 'http://www.example.com', rel: 'noreferrer'))
- .to eq '<a href="http://www.example.com" rel="noreferrer nofollow">Example</a>'
- end
-
- it 'should not include rel=nofollow for external links on the same host as GitLab' do
- expect(Gitlab.config.gitlab).to receive(:host).and_return('example.foo')
- expect(link_to('Example', 'http://example.foo/bar')).
- to eq '<a href="http://example.foo/bar">Example</a>'
- end
-
- it 'should not raise an error when given a bad URI' do
- expect { link_to('default', 'if real=1 RANDOM; if real>1 IDLHS; if real>500 LHS') }.
- not_to raise_error
- end
-
- it 'should not raise an error when given a bad mailto URL' do
- expect { link_to('email', 'mailto://foo.bar@example.es?subject=Subject%20Line') }.
- not_to raise_error
- end
- end
-
describe 'time_ago_with_tooltip' do
def element(*arguments)
Time.zone = 'UTC'