Commit b07ecbb5 authored by Robert Speicher's avatar Robert Speicher

Simplify AutolinkFilter specs

parent f8bfd065
...@@ -195,45 +195,41 @@ describe 'GitLab Markdown', feature: true do ...@@ -195,45 +195,41 @@ describe 'GitLab Markdown', feature: true do
end end
describe 'AutolinkFilter' do describe 'AutolinkFilter' do
let(:list) { get_section('autolinkfilter').next_element } def body
get_section('autolinkfilter').next_element
end
def item(index) # Override Capybara's `have_link` matcher to simplify our use case
list.at_css("li:nth-child(#{index})") def have_link(link)
super(link, href: link)
end end
it 'autolinks http://' do it 'autolinks http://' do
expect(item(1).children.first.name).to eq 'a' expect(body).to have_link('http://about.gitlab.com/')
expect(item(1).children.first['href']).to eq 'http://about.gitlab.com/'
end end
it 'autolinks https://' do it 'autolinks https://' do
expect(item(2).children.first.name).to eq 'a' expect(body).to have_link('https://google.com/')
expect(item(2).children.first['href']).to eq 'https://google.com/'
end end
it 'autolinks ftp://' do it 'autolinks ftp://' do
expect(item(3).children.first.name).to eq 'a' expect(body).to have_link('ftp://ftp.us.debian.org/debian/')
expect(item(3).children.first['href']).to eq 'ftp://ftp.us.debian.org/debian/'
end end
it 'autolinks smb://' do it 'autolinks smb://' do
expect(item(4).children.first.name).to eq 'a' expect(body).to have_link('smb://foo/bar/baz')
expect(item(4).children.first['href']).to eq 'smb://foo/bar/baz'
end end
it 'autolinks irc://' do it 'autolinks irc://' do
expect(item(5).children.first.name).to eq 'a' expect(body).to have_link('irc://irc.freenode.net/git')
expect(item(5).children.first['href']).to eq 'irc://irc.freenode.net/git'
end end
it 'autolinks short, invalid URLs' do it 'autolinks short, invalid URLs' do
expect(item(6).children.first.name).to eq 'a' expect(body).to have_link('http://localhost:3000')
expect(item(6).children.first['href']).to eq 'http://localhost:3000'
end end
%w(code a kbd).each do |elem| %w(code a kbd).each do |elem|
it "ignores links inside '#{elem}' element" do it "ignores links inside '#{elem}' element" do
body = get_section('autolinkfilter')
expect(body).not_to have_selector("#{elem} a") expect(body).not_to have_selector("#{elem} a")
end end
end end
......
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