Fixes WebSite#xml_rpc_url bug (Thanks Patrick for the report)
This commit is contained in:
@@ -52,9 +52,9 @@ class WebSite
|
|||||||
@xmlrpc_url = nil
|
@xmlrpc_url = nil
|
||||||
|
|
||||||
unless headers.nil?
|
unless headers.nil?
|
||||||
value = headers['X-Pingback']
|
pingback_url = headers['X-Pingback']
|
||||||
unless value.nil? && value.empty?
|
unless pingback_url.nil? || pingback_url.empty?
|
||||||
@xmlrpc_url = value
|
@xmlrpc_url = pingback_url
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -79,17 +79,43 @@ describe 'WebSite' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
describe '#xml_rpc_url' do
|
describe '#xml_rpc_url' do
|
||||||
it 'should return the correct url : http://example.localhost/xmlrpc.php' do
|
context 'when the x-pingback is' do
|
||||||
xmlrpc = 'http://example.localhost/xmlrpc.php'
|
|
||||||
stub_request(:get, web_site.url).
|
|
||||||
to_return(status: 200, headers: { 'X-Pingback' => xmlrpc })
|
|
||||||
|
|
||||||
web_site.xml_rpc_url.should === xmlrpc
|
context 'correctly supplied' do
|
||||||
end
|
it 'returns the url in the header : http://example.localhost/xmlrpc.php' do
|
||||||
|
xmlrpc = 'http://example.localhost/xmlrpc.php'
|
||||||
|
stub_request(:get, web_site.url).
|
||||||
|
to_return(status: 200, headers: { 'X-Pingback' => xmlrpc })
|
||||||
|
|
||||||
|
web_site.xml_rpc_url.should === xmlrpc
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'not supplied' do
|
||||||
|
it 'returns nil' do
|
||||||
|
stub_request(:get, web_site.url).to_return(status: 200)
|
||||||
|
web_site.xml_rpc_url.should be_nil
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'but there is another header field' do
|
||||||
|
it 'returns nil' do
|
||||||
|
stub_request(:get, web_site.url).
|
||||||
|
to_return(status:200, headers: { 'another-field' => 'which we do not care' })
|
||||||
|
|
||||||
|
web_site.xml_rpc_url.should be_nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'empty' do
|
||||||
|
it 'returns nil' do
|
||||||
|
stub_request(:get, web_site.url).
|
||||||
|
to_return(status: 200, headers: { 'X-Pingback' => '' })
|
||||||
|
|
||||||
|
web_site.xml_rpc_url.should be_nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
it 'should return nil' do
|
|
||||||
stub_request(:get, web_site.url).to_return(status: 200)
|
|
||||||
web_site.xml_rpc_url.should be_nil
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user