summaryrefslogtreecommitdiff
path: root/spec/lib
diff options
context:
space:
mode:
authorconnorshea <connor.james.shea@gmail.com>2016-03-30 16:03:49 -0600
committerconnorshea <connor.james.shea@gmail.com>2016-04-04 19:44:07 -0600
commitb9abf938edf52e762d320b1eb8732155e23d7b72 (patch)
treefa58191817cb644a1eeb969b23e1d2cc58e654cb /spec/lib
parent67136007933425414293602bc75d2ba4822f2a93 (diff)
downloadgitlab-ce-b9abf938edf52e762d320b1eb8732155e23d7b72.tar.gz
Wrap images in discussions and wikis with a link to the image source using ImageLinkFilter.
Resolves #14411. See merge request !3464
Diffstat (limited to 'spec/lib')
-rw-r--r--spec/lib/banzai/filter/image_link_filter_spec.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/lib/banzai/filter/image_link_filter_spec.rb b/spec/lib/banzai/filter/image_link_filter_spec.rb
new file mode 100644
index 00000000000..dd5594750c8
--- /dev/null
+++ b/spec/lib/banzai/filter/image_link_filter_spec.rb
@@ -0,0 +1,24 @@
+require 'spec_helper'
+
+describe Banzai::Filter::ImageLinkFilter, lib: true do
+ include FilterSpecHelper
+
+ def image(path)
+ %(<img src="#{path}" />)
+ end
+
+ it 'wraps the image with a link to the image src' do
+ doc = filter(image('/uploads/e90decf88d8f96fe9e1389afc2e4a91f/test.jpg'))
+ expect(doc.at_css('img')['src']).to eq doc.at_css('a')['href']
+ end
+
+ it 'does not wrap a duplicate link' do
+ exp = act = %q(<a href="/whatever">#{image('/uploads/e90decf88d8f96fe9e1389afc2e4a91f/test.jpg')}</a>)
+ expect(filter(act).to_html).to eq exp
+ end
+
+ it 'works with external images' do
+ doc = filter(image('https://i.imgur.com/DfssX9C.jpg'))
+ expect(doc.at_css('img')['src']).to eq doc.at_css('a')['href']
+ end
+end