Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorMarin Jankovski <marin@gitlab.com>2014-05-30 19:09:31 +0400
committerMarin Jankovski <marin@gitlab.com>2014-05-30 19:09:31 +0400
commit4a03bbe4831399381a45cde7fd19ecfb67895bd4 (patch)
tree292355575d9f0656de5ea84d8461fcdd331202a6 /spec
parent3910b5917c84875f94f8b15594e4c506a3de39cc (diff)
Add nofollow to all internal links.
Diffstat (limited to 'spec')
-rw-r--r--spec/helpers/application_helper_spec.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb
index 0376e0aadf0..10c5617d245 100644
--- a/spec/helpers/application_helper_spec.rb
+++ b/spec/helpers/application_helper_spec.rb
@@ -195,4 +195,27 @@ describe ApplicationHelper do
simple_sanitize(input).should == a_tag
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 re=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 preserver 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
+ end
end