Booleanize the value if the key name is suffixed with a "?".

Neglect the "!" suffix that is not suitable for an attribute name
while at it.
This commit is contained in:
Akinori MUSHA 2012-10-17 20:26:40 +09:00
parent ad42622d3b
commit 0cf86222f6
2 changed files with 10 additions and 1 deletions

View file

@ -56,7 +56,9 @@ class HTTP::Cookie
for_domain = false
attr_hash.each_pair { |key, val|
skey = key.to_s.downcase
skey.sub!(/[!?]\z/, '')
if skey.sub!(/\?\z/, '')
val = val ? true : false
end
case skey
when 'for_domain'
for_domain = !!val

View file

@ -455,6 +455,13 @@ class TestHTTPCookie < Test::Unit::TestCase
assert_equal 'key', cookie.name
assert_equal 'value', cookie.value
assert_equal expires, cookie.expires
cookie = HTTP::Cookie.new(:value => 'value', :name => 'key', :expires => expires.dup, :domain => 'example.org', :for_domain? => true)
assert_equal 'key', cookie.name
assert_equal 'value', cookie.value
assert_equal expires, cookie.expires
assert_equal 'example.org', cookie.domain
assert_equal true, cookie.for_domain?
end
def test_domain=