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

merge revision(s) r48666: [Backport #10875]

* lib/uri/generic.rb (URI::Generic.build):
	  use hostname= to detect and wrap IPv6 hosts.
	  Build is accepting URI components and users may not expect
	  that a host component needs to be wrapped with square brackets
	  since it's not providing a URI.
	  Note: initialize with arg_check => true does not wrap IPv6 hosts.
	  by Joe Rafaniello <jrafanie@redhat.com>
	  https://github.com/ruby/ruby/pull/765 fix GH-765

	* test/uri/test_generic.rb: Add more tests


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@49907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nagachika 2015-03-09 13:00:13 +00:00
parent 3457be5f12
commit 2d5f7e5e17
4 changed files with 34 additions and 7 deletions

View file

@ -1,3 +1,16 @@
Mon Mar 9 21:52:41 2015 NARUSE, Yui <naruse@ruby-lang.org>
* lib/uri/generic.rb (URI::Generic.build):
use hostname= to detect and wrap IPv6 hosts.
Build is accepting URI components and users may not expect
that a host component needs to be wrapped with square brackets
since it's not providing a URI.
Note: initialize with arg_check => true does not wrap IPv6 hosts.
by Joe Rafaniello <jrafanie@redhat.com>
https://github.com/ruby/ruby/pull/765 fix GH-765
* test/uri/test_generic.rb: Add more tests
Tue Mar 3 02:42:27 2015 Eric Wong <e@80x24.org>
* ext/io/wait/wait.c (io_nread): wrap return value with INT2FIX

View file

@ -192,7 +192,7 @@ module URI
if arg_check
self.scheme = scheme
self.userinfo = userinfo
self.host = host
self.hostname = host
self.port = port
self.path = path
self.query = query

View file

@ -741,12 +741,26 @@ class URI::TestGeneric < Test::Unit::TestCase
end
def test_build
URI::Generic.build(['http', nil, 'example.com', 80, nil, '/foo', nil, nil, nil])
u = URI::Generic.build(['http', nil, 'example.com', 80, nil, '/foo', nil, nil, nil])
assert_equal('http://example.com:80/foo', u.to_s)
u = URI::Generic.build(:scheme => "http", :host => "::1", :path => "/bar/baz")
assert_equal("http://[::1]/bar/baz", u.to_s)
assert_equal("[::1]", u.host)
assert_equal("::1", u.hostname)
u = URI::Generic.build(:scheme => "http", :host => "[::1]", :path => "/bar/baz")
assert_equal("http://[::1]/bar/baz", u.to_s)
assert_equal("[::1]", u.host)
assert_equal("::1", u.hostname)
end
def test_build2
URI::Generic.build2(path: "/foo bar/baz")
URI::Generic.build2(['http', nil, 'example.com', 80, nil, '/foo bar' , nil, nil, nil])
u = URI::Generic.build2(path: "/foo bar/baz")
assert_equal('/foo%20bar/baz', u.to_s)
u = URI::Generic.build2(['http', nil, 'example.com', 80, nil, '/foo bar' , nil, nil, nil])
assert_equal('http://example.com:80/foo%20bar', u.to_s)
end
# 192.0.2.0/24 is TEST-NET. [RFC3330]

View file

@ -1,10 +1,10 @@
#define RUBY_VERSION "2.1.5"
#define RUBY_RELEASE_DATE "2015-03-03"
#define RUBY_PATCHLEVEL 306
#define RUBY_RELEASE_DATE "2015-03-09"
#define RUBY_PATCHLEVEL 307
#define RUBY_RELEASE_YEAR 2015
#define RUBY_RELEASE_MONTH 3
#define RUBY_RELEASE_DAY 3
#define RUBY_RELEASE_DAY 9
#include "ruby/version.h"