mirror of
https://github.com/samsonjs/http-cookie.git
synced 2026-04-27 14:57:46 +00:00
Cookie#acceptable? should not raise ArgumentError when it takes no argument.
Let CookieJar#add convert RuntimeError raised by acceptable? to ArgumentError.
This commit is contained in:
parent
ea45ee3b38
commit
d44218c2e2
3 changed files with 17 additions and 12 deletions
|
|
@ -564,9 +564,9 @@ class HTTP::Cookie
|
||||||
def acceptable?
|
def acceptable?
|
||||||
case
|
case
|
||||||
when @domain.nil?
|
when @domain.nil?
|
||||||
raise ArgumentError, "domain is missing"
|
raise "domain is missing"
|
||||||
when @path.nil?
|
when @path.nil?
|
||||||
raise ArgumentError, "path is missing"
|
raise "path is missing"
|
||||||
when @origin.nil?
|
when @origin.nil?
|
||||||
true
|
true
|
||||||
else
|
else
|
||||||
|
|
@ -574,8 +574,8 @@ class HTTP::Cookie
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# Tests if it is OK to send this cookie to a given `uri`. A runtime
|
# Tests if it is OK to send this cookie to a given `uri`. A
|
||||||
# error is raised if the cookie's domain is unknown.
|
# RuntimeError is raised if the cookie's domain is unknown.
|
||||||
def valid_for_uri?(uri)
|
def valid_for_uri?(uri)
|
||||||
if @domain.nil?
|
if @domain.nil?
|
||||||
raise "cannot tell if this cookie is valid because the domain is unknown"
|
raise "cannot tell if this cookie is valid because the domain is unknown"
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,12 @@ class HTTP::CookieJar
|
||||||
# jar.origin = origin
|
# jar.origin = origin
|
||||||
# jar.add(cookie) # acceptance check is performed
|
# jar.add(cookie) # acceptance check is performed
|
||||||
def add(cookie)
|
def add(cookie)
|
||||||
@store.add(cookie) if cookie.acceptable?
|
@store.add(cookie) if
|
||||||
|
begin
|
||||||
|
cookie.acceptable?
|
||||||
|
rescue RuntimeError => e
|
||||||
|
raise ArgumentError, e.message
|
||||||
|
end
|
||||||
self
|
self
|
||||||
end
|
end
|
||||||
alias << add
|
alias << add
|
||||||
|
|
|
||||||
|
|
@ -523,7 +523,7 @@ class TestHTTPCookie < Test::Unit::TestCase
|
||||||
assert_equal 'key', cookie.name
|
assert_equal 'key', cookie.name
|
||||||
assert_equal 'value', cookie.value
|
assert_equal 'value', cookie.value
|
||||||
assert_equal nil, cookie.expires
|
assert_equal nil, cookie.expires
|
||||||
assert_raises(ArgumentError) {
|
assert_raises(RuntimeError) {
|
||||||
cookie.acceptable?
|
cookie.acceptable?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -534,7 +534,7 @@ class TestHTTPCookie < Test::Unit::TestCase
|
||||||
assert_equal 'key', cookie.name
|
assert_equal 'key', cookie.name
|
||||||
assert_equal 'value', cookie.value
|
assert_equal 'value', cookie.value
|
||||||
assert_equal expires, cookie.expires
|
assert_equal expires, cookie.expires
|
||||||
assert_raises(ArgumentError) {
|
assert_raises(RuntimeError) {
|
||||||
cookie.acceptable?
|
cookie.acceptable?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -543,7 +543,7 @@ class TestHTTPCookie < Test::Unit::TestCase
|
||||||
assert_equal 'value', cookie.value
|
assert_equal 'value', cookie.value
|
||||||
assert_equal expires, cookie.expires
|
assert_equal expires, cookie.expires
|
||||||
assert_equal false, cookie.for_domain?
|
assert_equal false, cookie.for_domain?
|
||||||
assert_raises(ArgumentError) {
|
assert_raises(RuntimeError) {
|
||||||
# domain and path are missing
|
# domain and path are missing
|
||||||
cookie.acceptable?
|
cookie.acceptable?
|
||||||
}
|
}
|
||||||
|
|
@ -553,7 +553,7 @@ class TestHTTPCookie < Test::Unit::TestCase
|
||||||
assert_equal 'value', cookie.value
|
assert_equal 'value', cookie.value
|
||||||
assert_equal expires, cookie.expires
|
assert_equal expires, cookie.expires
|
||||||
assert_equal true, cookie.for_domain?
|
assert_equal true, cookie.for_domain?
|
||||||
assert_raises(ArgumentError) {
|
assert_raises(RuntimeError) {
|
||||||
# path is missing
|
# path is missing
|
||||||
cookie.acceptable?
|
cookie.acceptable?
|
||||||
}
|
}
|
||||||
|
|
@ -563,7 +563,7 @@ class TestHTTPCookie < Test::Unit::TestCase
|
||||||
assert_equal 'value', cookie.value
|
assert_equal 'value', cookie.value
|
||||||
assert_equal expires, cookie.expires
|
assert_equal expires, cookie.expires
|
||||||
assert_equal false, cookie.for_domain?
|
assert_equal false, cookie.for_domain?
|
||||||
assert_raises(ArgumentError) {
|
assert_raises(RuntimeError) {
|
||||||
# path is missing
|
# path is missing
|
||||||
cookie.acceptable?
|
cookie.acceptable?
|
||||||
}
|
}
|
||||||
|
|
@ -574,7 +574,7 @@ class TestHTTPCookie < Test::Unit::TestCase
|
||||||
assert_equal expires, cookie.expires
|
assert_equal expires, cookie.expires
|
||||||
assert_equal 'example.org', cookie.domain
|
assert_equal 'example.org', cookie.domain
|
||||||
assert_equal true, cookie.for_domain?
|
assert_equal true, cookie.for_domain?
|
||||||
assert_raises(ArgumentError) {
|
assert_raises(RuntimeError) {
|
||||||
# path is missing
|
# path is missing
|
||||||
cookie.acceptable?
|
cookie.acceptable?
|
||||||
}
|
}
|
||||||
|
|
@ -849,7 +849,7 @@ class TestHTTPCookie < Test::Unit::TestCase
|
||||||
cookie.domain = d
|
cookie.domain = d
|
||||||
assert_equal nil, cookie.domain, "domain=#{d.inspect}"
|
assert_equal nil, cookie.domain, "domain=#{d.inspect}"
|
||||||
assert_equal nil, cookie.domain_name, "domain=#{d.inspect}"
|
assert_equal nil, cookie.domain_name, "domain=#{d.inspect}"
|
||||||
assert_raises(ArgumentError) {
|
assert_raises(RuntimeError) {
|
||||||
cookie.acceptable?
|
cookie.acceptable?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue