Bug #8352 ยป 0001-Allow-empty-path-components-in-a-URI-Bug-8352.patch
lib/uri/generic.rb | ||
---|---|---|
# returns an Array of the path split on '/'
|
||
#
|
||
def split_path(path)
|
||
path.split(%r{/+}, -1)
|
||
path.split(%r{/}, -1)
|
||
end
|
||
private :split_path
|
||
... | ... | |
return dst.dup
|
||
end
|
||
src_path = src.scan(%r{(?:\A|[^/]+)/})
|
||
dst_path = dst.scan(%r{(?:\A|[^/]+)/?})
|
||
src_path = src.scan(%r{[^/]*/})
|
||
dst_path = dst.scan(%r{[^/]*/?})
|
||
# discard same parts
|
||
while !dst_path.empty? && dst_path.first == src_path.first
|
test/uri/test_generic.rb | ||
---|---|---|
assert(nil != u.merge!("../baz"))
|
||
assert_equal('http://foo/baz', u.to_s)
|
||
url = URI.parse('http://a/b//c') + 'd//e'
|
||
assert_equal('http://a/b//d//e', url.to_s)
|
||
u0 = URI.parse('mailto:foo@example.com')
|
||
u1 = URI.parse('mailto:foo@example.com#bar')
|
||
assert_equal(uri_to_ary(u0 + '#bar'), uri_to_ary(u1), "[ruby-dev:23628]")
|
||
... | ... | |
url = URI.parse('http://hoge/b').route_to('http://hoge/b:c')
|
||
assert_equal('./b:c', url.to_s)
|
||
url = URI.parse('http://hoge/b//c').route_to('http://hoge/b/c')
|
||
assert_equal('../c', url.to_s)
|
||
url = URI.parse('file:///a/b/').route_to('file:///a/b/')
|
||
assert_equal('', url.to_s)
|
||
url = URI.parse('file:///a/b/').route_to('file:///a/b')
|