mirror of
https://github.com/samsonjs/http-cookie.git
synced 2026-04-27 14:57:46 +00:00
Cookie#max_age= should not reset #expires when it fails.
This commit is contained in:
parent
640ea1b297
commit
a0202e2192
2 changed files with 14 additions and 1 deletions
|
|
@ -497,7 +497,6 @@ class HTTP::Cookie
|
||||||
|
|
||||||
# See #max_age.
|
# See #max_age.
|
||||||
def max_age= sec
|
def max_age= sec
|
||||||
@expires = nil
|
|
||||||
case sec
|
case sec
|
||||||
when Integer, nil
|
when Integer, nil
|
||||||
else
|
else
|
||||||
|
|
@ -507,6 +506,7 @@ class HTTP::Cookie
|
||||||
raise ArgumentError, "invalid Max-Age: #{sec.inspect}"
|
raise ArgumentError, "invalid Max-Age: #{sec.inspect}"
|
||||||
sec = str.to_i
|
sec = str.to_i
|
||||||
end
|
end
|
||||||
|
@expires = nil
|
||||||
if @session = sec.nil?
|
if @session = sec.nil?
|
||||||
@max_age = nil
|
@max_age = nil
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -692,19 +692,32 @@ class TestHTTPCookie < Test::Unit::TestCase
|
||||||
|
|
||||||
def test_max_age=
|
def test_max_age=
|
||||||
cookie = HTTP::Cookie.new(cookie_values)
|
cookie = HTTP::Cookie.new(cookie_values)
|
||||||
|
expires = cookie.expires
|
||||||
|
|
||||||
assert_raises(ArgumentError) {
|
assert_raises(ArgumentError) {
|
||||||
cookie.max_age = "+1"
|
cookie.max_age = "+1"
|
||||||
}
|
}
|
||||||
|
# make sure #expires is not destroyed
|
||||||
|
assert_equal expires, cookie.expires
|
||||||
|
|
||||||
assert_raises(ArgumentError) {
|
assert_raises(ArgumentError) {
|
||||||
cookie.max_age = "1.5"
|
cookie.max_age = "1.5"
|
||||||
}
|
}
|
||||||
|
# make sure #expires is not destroyed
|
||||||
|
assert_equal expires, cookie.expires
|
||||||
|
|
||||||
assert_raises(ArgumentError) {
|
assert_raises(ArgumentError) {
|
||||||
cookie.max_age = "1 day"
|
cookie.max_age = "1 day"
|
||||||
}
|
}
|
||||||
|
# make sure #expires is not destroyed
|
||||||
|
assert_equal expires, cookie.expires
|
||||||
|
|
||||||
assert_raises(TypeError) {
|
assert_raises(TypeError) {
|
||||||
cookie.max_age = [1]
|
cookie.max_age = [1]
|
||||||
}
|
}
|
||||||
|
# make sure #expires is not destroyed
|
||||||
|
assert_equal expires, cookie.expires
|
||||||
|
|
||||||
cookie.max_age = "12"
|
cookie.max_age = "12"
|
||||||
assert_equal 12, cookie.max_age
|
assert_equal 12, cookie.max_age
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue