Bug #12498 ยป fix_empty_mailto_recipient_parsing.patch
lib/uri/mailto.rb | ||
---|---|---|
@to = nil
|
||
@headers = []
|
||
# The RFC3986 parser does not normally populate opaque
|
||
@opaque = "?#{@query}" if @query && !@opaque
|
||
unless @opaque
|
||
raise InvalidComponentError,
|
||
"missing opaque part for mailto URL"
|
test/uri/test_mailto.rb | ||
---|---|---|
ok[-1] << [nil,
|
||
["to=joe@example.com", "cc=bob@example.com", "body=hello"]]
|
||
ok[-1] << {:headers => ["to=joe@example.com",
|
||
"cc=bob@example.com", "body=hello"]}
|
||
"cc=bob@example.com", "body=hello"]}
|
||
# mailto:gorby%25kremvax@example.com
|
||
ok << ["mailto:gorby%25kremvax@example.com"]
|
||
... | ... | |
bad << ["foo@example.jp?subject=1+1=2", []]
|
||
ok.each do |x|
|
||
assert_equal(x[0],
|
||
@u.build(x[1]).to_s)
|
||
assert_equal(x[0],
|
||
@u.build(x[2]).to_s)
|
||
assert_equal(x[0], URI.parse(x[0]).to_s)
|
||
assert_equal(x[0], @u.build(x[1]).to_s)
|
||
assert_equal(x[0], @u.build(x[2]).to_s)
|
||
end
|
||
bad.each do |x|
|
||
assert_raise(URI::InvalidURIError) {
|
||
URI.parse(x)
|
||
}
|
||
assert_raise(URI::InvalidComponentError) {
|
||
@u.build(x)
|
||
@u.build(x)
|
||
}
|
||
end
|
||