FIX: `InlineUploads` matching on external bbcode img url.

This commit is contained in:
Guo Xiang Tan 2019-06-13 13:47:18 +08:00
parent 782e583844
commit 7a0d031bc4
2 changed files with 7 additions and 1 deletions

View File

@ -166,7 +166,9 @@ class InlineUploads
def self.match_bbcode_img(markdown)
markdown.scan(/(\[img\]\s?(.+)\s?\[\/img\])/) do |match|
yield(match[0], match[1], +"![](#{PLACEHOLDER})", $~.offset(0)[0]) if block_given?
if matched_uploads(match[1]).present? && block_given?
yield(match[0], match[1], +"![](#{PLACEHOLDER})", $~.offset(0)[0])
end
end
end

View File

@ -161,7 +161,9 @@ RSpec.describe InlineUploads do
it "should correct bbcode img URLs to the short version" do
md = <<~MD
[img]http://some.external.img[/img]
[img]#{upload.url}[/img]
<img src="#{upload3.url}">
[img]
#{upload2.url}
@ -169,7 +171,9 @@ RSpec.describe InlineUploads do
MD
expect(InlineUploads.process(md)).to eq(<<~MD)
[img]http://some.external.img[/img]
![](#{upload.short_url})
![](#{upload3.short_url})
![](#{upload2.short_url})
MD