提交 65e36d31 编写于 作者: T Takayuki Matsubara

Escape cookie's key and value in ActionController::TestCase

Get an incorrect cookie value in controller action method
if cookie value contains an escapable string.
上级 929c6157
......@@ -337,7 +337,7 @@ def update_cookies_from_jar
end
def to_header
@cookies.map { |k,v| "#{k}=#{v}" }.join ';'
@cookies.map { |k,v| "#{::Rack::Utils.escape(k)}=#{::Rack::Utils.escape(v)}" }.join ';'
end
def handle_options(options) #:nodoc:
......
......@@ -137,6 +137,11 @@ def create
head :created, location: 'created resource'
end
def read_cookie
cookies["foo"]
render plain: 'ok'
end
def delete_cookie
cookies.delete("foo")
render plain: 'ok'
......@@ -825,8 +830,10 @@ def test_request_format_kwarg_overrides_params
def test_should_have_knowledge_of_client_side_cookie_state_even_if_they_are_not_set
cookies['foo'] = 'bar'
cookies['escape'] = '+'
get :no_op
assert_equal 'bar', cookies['foo']
assert_equal '+', cookies['escape']
end
def test_should_detect_if_cookie_is_deleted
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册