1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/xmlrpc/client.rb (new2): raises an ArgumentError on bad

arguments.
* test/xmlrpc/test_client.rb: tests for bad uris

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
tenderlove 2012-03-02 23:21:17 +00:00
parent 60282ebfe5
commit cd85cd25b4
3 changed files with 42 additions and 2 deletions

View file

@ -1,3 +1,9 @@
Sat Mar 3 08:20:10 2012 Aaron Patterson <aaron@tenderlovemaking.com>
* lib/xmlrpc/client.rb (new2): raises an ArgumentError on bad
arguments.
* test/xmlrpc/test_client.rb: tests for bad uris
Sat Mar 3 08:08:11 2012 Aaron Patterson <aaron@tenderlovemaking.com>
* lib/xmlrpc/client.rb (new2): fix custom port specification when an

View file

@ -349,12 +349,12 @@ module XMLRPC
when 'http' then port ||= 80
when 'https' then port ||= 443
else
raise "Wrong protocol specified. Only http or https allowed!"
raise ArgumentError, "Wrong protocol specified. Only http or https allowed!"
end
port = port.to_i
else
raise "Wrong URI as parameter!"
raise ArgumentError, "Wrong URI as parameter!"
end
proxy_host, proxy_port = (proxy || "").split(":")

View file

@ -98,5 +98,39 @@ module XMLRPC
[ user, password, use_ssl, timeout ].each { |x| refute x }
end
def test_new2_no_path
client = FakeClient.new2 'http://example.org'
host, path, port, *rest = client.args
assert_equal 'example.org', host
assert_nil path
assert port
rest.each { |x| refute x }
end
def test_new2_slash_path
client = FakeClient.new2 'http://example.org/'
host, path, port, *rest = client.args
assert_equal 'example.org', host
assert_equal '/', path
assert port
rest.each { |x| refute x }
end
def test_new2_bad_protocol
assert_raises(ArgumentError) do
XMLRPC::Client.new2 'ftp://example.org'
end
end
def test_new2_bad_uri
assert_raises(ArgumentError) do
XMLRPC::Client.new2 ':::::'
end
end
end
end