提交 c8dd6f22 编写于 作者: M Mathias Biilmann Christensen 提交者: Jeremy Kemper

Deleting and setting a cookie in the same request was broken

Made sure to remove a cookie from @deleted_cookies when set

[#4211 state:committed]
Signed-off-by: NJeremy Kemper <jeremy@bitsweat.net>
上级 0e15f07b
......@@ -84,6 +84,7 @@ def []=(key, options)
options[:path] ||= "/"
@set_cookies[key] = options
@delete_cookies.delete(key)
value
end
......
......@@ -64,6 +64,12 @@ def set_permanent_signed_cookie
cookies.permanent.signed[:remember_me] = 100
head :ok
end
def delete_and_set_cookie
cookies.delete :user_name
cookies[:user_name] = { :value => "david", :expires => Time.utc(2005, 10, 10,5) }
head :ok
end
end
tests TestController
......@@ -152,6 +158,11 @@ def test_permanent_signed_cookie
assert_equal 100, @controller.send(:cookies).signed[:remember_me]
end
def test_delete_and_set_cookie
get :delete_and_set_cookie
assert_cookie_header "user_name=david; path=/; expires=Mon, 10-Oct-2005 05:00:00 GMT"
assert_equal({"user_name" => "david"}, @response.cookies)
end
private
def assert_cookie_header(expected)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册