mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 07:53:49 +08:00
FIX markdown hotlinked images were not properly pulled
This commit is contained in:
@ -340,4 +340,22 @@ describe CookedPostProcessor do
|
||||
|
||||
end
|
||||
|
||||
context ".is_a_hyperlink?" do
|
||||
|
||||
let(:post) { build(:post) }
|
||||
let(:cpp) { CookedPostProcessor.new(post) }
|
||||
let(:doc) { Nokogiri::HTML::fragment('<body><div><a><img id="linked_image"></a><p><img id="standard_image"></p></div></body>') }
|
||||
|
||||
it "is true when the image is inside a link" do
|
||||
img = doc.css("img#linked_image").first
|
||||
cpp.is_a_hyperlink?(img).should be_true
|
||||
end
|
||||
|
||||
it "is false when the image is not inside a link" do
|
||||
img = doc.css("img#standard_image").first
|
||||
cpp.is_a_hyperlink?(img).should be_false
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
52
spec/components/url_helper_spec.rb
Normal file
52
spec/components/url_helper_spec.rb
Normal file
@ -0,0 +1,52 @@
|
||||
require 'spec_helper'
|
||||
require_dependency 'url_helper'
|
||||
|
||||
describe UrlHelper do
|
||||
|
||||
class DummyClass
|
||||
include UrlHelper
|
||||
end
|
||||
|
||||
let(:helper) { DummyClass.new }
|
||||
|
||||
describe "#is_local" do
|
||||
|
||||
it "is true when the file has been uploaded" do
|
||||
store = stub
|
||||
store.expects(:has_been_uploaded?).returns(true)
|
||||
Discourse.stubs(:store).returns(store)
|
||||
helper.is_local("http://discuss.site.com/path/to/file.png").should be_true
|
||||
end
|
||||
|
||||
it "is true for relative assets" do
|
||||
store = stub
|
||||
store.expects(:has_been_uploaded?).returns(false)
|
||||
Discourse.stubs(:store).returns(store)
|
||||
helper.is_local("/assets/javascripts/all.js").should be_true
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
describe "#absolute" do
|
||||
|
||||
it "does not change non-relative url" do
|
||||
helper.absolute("http://www.discourse.org").should == "http://www.discourse.org"
|
||||
end
|
||||
|
||||
it "changes a relative url to an absolute one" do
|
||||
helper.absolute("/path/to/file").should == "http://test.localhost/path/to/file"
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
describe "#schemaless" do
|
||||
|
||||
it "removes http or https schemas only" do
|
||||
helper.schemaless("http://www.discourse.org").should == "//www.discourse.org"
|
||||
helper.schemaless("https://secure.discourse.org").should == "//secure.discourse.org"
|
||||
helper.schemaless("ftp://ftp.discourse.org").should == "ftp://ftp.discourse.org"
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
Reference in New Issue
Block a user