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
diff options
context:
space:
mode:
authorRobert Speicher <rspeicher@gmail.com>2015-05-08 19:17:54 +0300
committerRobert Speicher <rspeicher@gmail.com>2015-05-08 19:31:34 +0300
commit70bbf093aa07d416ea33da24ab015e5d22c0d501 (patch)
tree4ad8957bbc3bd5ad170fc41c194010ea527ea15c /spec/features/markdown_spec.rb
parentd9b6b9201e7d4495c28035bf545ee2b85834bd5e (diff)
Remove class and id attributes from SanitizationFilter whitelist
Diffstat (limited to 'spec/features/markdown_spec.rb')
-rw-r--r--spec/features/markdown_spec.rb28
1 files changed, 14 insertions, 14 deletions
diff --git a/spec/features/markdown_spec.rb b/spec/features/markdown_spec.rb
index 1746ce128e4..8f3dfc8d5a9 100644
--- a/spec/features/markdown_spec.rb
+++ b/spec/features/markdown_spec.rb
@@ -60,8 +60,8 @@ describe 'GitLab Markdown' do
@feat.teardown
end
- # Given a header ID, goes to that element's parent (the header), then to its
- # second sibling (the body).
+ # Given a header ID, goes to that element's parent (the header itself), then
+ # its next sibling element (the body).
def get_section(id)
@doc.at_css("##{id}").parent.next_element
end
@@ -119,18 +119,18 @@ describe 'GitLab Markdown' do
describe 'HTML::Pipeline' do
describe 'SanitizationFilter' do
it 'uses a permissive whitelist' do
- expect(@doc).to have_selector('b#manual-b')
- expect(@doc).to have_selector('em#manual-em')
- expect(@doc).to have_selector("code#manual-code")
+ expect(@doc).to have_selector('b:contains("b tag")')
+ expect(@doc).to have_selector('em:contains("em tag")')
+ expect(@doc).to have_selector('code:contains("code tag")')
expect(@doc).to have_selector('kbd:contains("s")')
expect(@doc).to have_selector('strike:contains(Emoji)')
- expect(@doc).to have_selector('img#manual-img')
- expect(@doc).to have_selector('br#manual-br')
- expect(@doc).to have_selector('hr#manual-hr')
+ expect(@doc).to have_selector('img[src*="smile.png"]')
+ expect(@doc).to have_selector('br')
+ expect(@doc).to have_selector('hr')
end
it 'permits span elements' do
- expect(@doc).to have_selector('span#span-class-light.light')
+ expect(@doc).to have_selector('span:contains("span tag")')
end
it 'permits table alignment' do
@@ -144,13 +144,12 @@ describe 'GitLab Markdown' do
end
it 'removes `rel` attribute from links' do
- expect(@doc).to have_selector('a#a-rel-nofollow')
- expect(@doc).not_to have_selector('a#a-rel-nofollow[rel]')
+ body = get_section('sanitizationfilter')
+ expect(body).not_to have_selector('a[rel]')
end
it "removes `href` from `a` elements if it's fishy" do
- expect(@doc).to have_selector('a#a-href-javascript')
- expect(@doc).not_to have_selector('a#a-href-javascript[href]')
+ expect(@doc).not_to have_selector('a[href*="javascript"]')
end
end
@@ -228,7 +227,8 @@ describe 'GitLab Markdown' do
%w(code a kbd).each do |elem|
it "ignores links inside '#{elem}' element" do
- expect(@doc.at_css("#{elem}#autolink-#{elem}").child).to be_text
+ body = get_section('autolinkfilter')
+ expect(body).not_to have_selector("#{elem} a")
end
end
end