summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-02-21 00:49:36 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-02-21 00:49:36 +0000
commit4e1bea5f5a46ff4c1a067ec280edc5f3da020a3a (patch)
treefd403a7420b175c8f372a6bf26cf044b360ddaca /test
parent4388d98671c7b798500fc622eb7ee903462989ab (diff)
merge revision(s) 48666: [Backport #10873]
* 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_0_0@49669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/uri/test_generic.rb20
1 files changed, 17 insertions, 3 deletions
diff --git a/test/uri/test_generic.rb b/test/uri/test_generic.rb
index e8becd5b8e..edddefb756 100644
--- a/test/uri/test_generic.rb
+++ b/test/uri/test_generic.rb
@@ -725,12 +725,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]